Skip to content

Breaking change - isOpen behaviour changed after going from cWRP to cDU #704

Open
@patrik-piskay

Description

@patrik-piskay

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!

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions