react-modal icon indicating copy to clipboard operation
react-modal copied to clipboard

Warning about the component

Open arcifius opened this issue 6 years ago • 11 comments

Steps to reproduce:

Just include the lib and add it to render method... You should see: Warning: Unsafe legacy lifecycles will not be called for components using new component APIs.

Modal uses getSnapshotBeforeUpdate() but also contains the following legacy lifecycles: componentWillReceiveProps componentWillUpdate

The above lifecycles should be removed.

arcifius avatar Apr 19 '18 11:04 arcifius

Hi @arcifius, don't know if this warning should be present. We are in a process of adapting the library for react 16.3+ and 17.

cc @Hypnosphi, if you can comment on this.

diasbruno avatar Apr 19 '18 12:04 diasbruno

@arcifius Which react-modal and react versions is it?

Hypnosphi avatar Apr 19 '18 12:04 Hypnosphi

I'm experiencing the same issue: [email protected] [email protected]

LeonardoGentile avatar Apr 19 '18 15:04 LeonardoGentile

Weird, I can't reproduce it (console is empty): https://codesandbox.io/s/m5xo3xz96j

Hypnosphi avatar Apr 19 '18 15:04 Hypnosphi

I am able to reproduce this warning as well.

React 16.3.2 and react-modal 3.4.2

akonyer avatar Apr 19 '18 20:04 akonyer

Can you try to downgrade react to 16.3.0 or 16.3.1?

diasbruno avatar Apr 19 '18 20:04 diasbruno

@arcifius @LeonardoGentile @akonyer Can some of you please create a GitHub repo with minimal reproduction of the issue?

Hypnosphi avatar Apr 19 '18 20:04 Hypnosphi

I'm having this issue when using react-modal together with react-hot-loader.. need to dig deeper, but, I think the issue is caused by react-hot-loader depending on v2 of react-lifecycles-compat, while react-modal depends on v3..

The issue went away if I provide custom yarn resolutions like

"resolutions": {
  "react-lifecycles-compat": "^3.0.2"
}

ignatiusreza avatar Apr 23 '18 06:04 ignatiusreza

react-hot-loader updated their dependencies and the warning no longer there, even without custom yarn resolutions mentioned above..

ignatiusreza avatar May 08 '18 02:05 ignatiusreza

I get similar errors as well by wrapping the [email protected] with React.StrictMode component (From [email protected]):

main.bundle.js:200868 Warning: Unsafe lifecycle methods were found within a strict-mode tree:
componentWillReceiveProps: Please update the following components to use static getDerivedStateFromProps instead: Modal, ModalPortal

componentWillUpdate: Please update the following components to use componentDidUpdate instead: Modal

larabr avatar May 18 '18 18:05 larabr

Using react 16.3.1 getting similar issue Screenshot from 2020-05-11 00-15-12

am-you avatar May 10 '20 22:05 am-you