Description
Hi all!
I believe changes made between v3.3.2 and v3.4.1 (probably f748406) should be considered as breaking.
Here is an CodeSanbox example using v3.3.2: https://codesandbox.io/s/rjkkkv62lq
And here is the same example, using the latest version of react-modal
(but the same thing happens on v3.4.1): https://codesandbox.io/s/7wnoow74r0
The issue in those examples is with setting data
prop only when isOpen === true
, with ModalContent
always expecting data
to be set. This wasn't an issue in <=3.3.2, because when isOpen
changes to false
, ModalContent
wouldn't get rerendered again. After 3.3.2, when isOpen
changes to false
, ModalContent
rerenders one more time, but breaks on data
not being set.
That happens because of the change from componentWillReceiveProps
/getDerivedStateFromProps
to componentDidUpdate
to determine whether isOpen
should be true
or false
in ReactModal.
Would it be possible to move the isOpen
logic to getDerivedStateFromProps
to keep the behaviour from <= 3.3.2, or if not, making this a breaking change and bumping the major version?
Thanks!