Skip to content

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

Open
wrabbit23 wants to merge 1 commit into
felixrieseberg:masterfrom
wrabbit23:willupdate
Open

fix: djsConfig not updating because component is looking at old props#204
wrabbit23 wants to merge 1 commit into
felixrieseberg:masterfrom
wrabbit23:willupdate

Conversation

@wrabbit23

Copy link
Copy Markdown

No description provided.

@wrabbit23

Copy link
Copy Markdown
Author

#154

Comment thread src/react-dropzone.js
let postUrlConfigObj

djsConfigObj = this.props.djsConfig ? this.props.djsConfig : {}
djsConfigObj = nextProps.djsConfig ? nextProps.djsConfig : {}

@DanielRuf DanielRuf Oct 11, 2019

Copy link
Copy Markdown
Contributor

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
Copy Markdown
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
Copy Markdown
Contributor

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