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

React@16.9.0: Warning: componentWillReceiveProps has been renamed, and is not recommended for use #248

Open
jmyrland opened this issue Aug 26, 2019 · 4 comments

Comments

@jmyrland
Copy link

Upon updating React to version 16.9.0, we get the following warnings when testing:

Warning: componentWillReceiveProps has been renamed, and is not recommended for use. See https://fb.me/react-async-component-lifecycle-hooks for details.

  * Move data fetching code or side effects to componentDidUpdate.
  * If you're updating state whenever props change, refactor your code to use memoization techniques or move it to static getDerivedStateFromProps. Learn more at: https://fb.me/react-derived-state
  * Rename componentWillReceiveProps to UNSAFE_componentWillReceiveProps to suppress this warning in non-strict mode. In React 17.x, only the UNSAFE_ name will work. To rename all deprecated lifecycles to their new names, you can run `npx react-codemod rename-unsafe-lifecycles` in your project source folder.
  
  Please update the following components: Rheostat

I have added a PR (#247) to "fix" this, by applying the npx react-codemod rename-unsafe-lifecycles command for the src folder - however, the tests are failing 🤔

@ljharb
Copy link
Collaborator

ljharb commented Aug 27, 2019

We support React versions older than 16.3, so we can't use the renamed method without a breaking change. The warning should just be ignored for the time being, since it won't actually break anything until React 17 in async mode.

@wdoug
Copy link

wdoug commented Sep 25, 2019

Wouldn't it be preferable to update to safe lifecycle methods, instead of renaming them to the UNSAFE variant? For example, converting usages of componentWillReceiveProps to componentDidUpdate or some other variant based on the use case.

@ljharb
Copy link
Collaborator

ljharb commented Sep 26, 2019

That might make sense, but those methods have different semantics. The current ones were chosen intentionally.

@mohdashraf010897
Copy link

mohdashraf010897 commented Oct 11, 2022

@jmyrland Have added a fix in a forked repo.

https://www.npmjs.com/package/@appbaseio/rheostat/v/1.0.0-alpha.2

I have basically checkout the 2.1.1- tag and made appropriate changes to get rid of the lifecycle warnings.

@jmyrland jmyrland closed this as not planned Won't fix, can't repro, duplicate, stale Oct 11, 2022
@ljharb ljharb reopened this Oct 11, 2022
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

No branches or pull requests

4 participants