Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fix: djsConfig not updating because component is looking at old props #204

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

wrabbit23
Copy link

No description provided.

@wrabbit23
Copy link
Author

#154

let djsConfigObj
let postUrlConfigObj

djsConfigObj = this.props.djsConfig ? this.props.djsConfig : {}
djsConfigObj = nextProps.djsConfig ? nextProps.djsConfig : {}
Copy link
Collaborator

@DanielRuf DanielRuf Oct 11, 2019

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Basically this should be like before. But there should be a strict equality comparison for the current and new config, like nextProps.djsConfig !== this.props.djsConfig.

Becuase this might not work on the initial render and it makes sense to keep the current logic to prevent any regressions.

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

i don't think componentWillUpdate gets called on the initial render - although you didn't say 'mount' so maybe i'm missing something.

I could see wrapping the whole thing in that strict equality comparison to make sure this doesn't run unless either of those 2 specific props changed - for performance reasons. Is that what you're looking for?

As far as i can tell there is no reason you would ever want to run the update with the old props like it is doing today.

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I would use extend() to merge them.

I am not completely sure, also because this lifecycle method is deprecated in React 16 because of cases where it is always called.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants