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

Mark componentWillReceiveProps UNSAFE #81

Open
wants to merge 2 commits into
base: master
Choose a base branch
from

Conversation

y6nH
Copy link

@y6nH y6nH commented Nov 8, 2019

See #66. This is the minimum change required for React 17 compatibility. The warning thrown by React 16, for reference:

Warning: componentWillReceiveProps has been renamed, and is not recommended for use. See https://fb.me/react-unsafe-component-lifecycles 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.

This is the minimum change required for React 17 compatibility. The warning thrown by React 16, for reference:

```
Warning: componentWillReceiveProps has been renamed, and is not recommended for use. See https://fb.me/react-unsafe-component-lifecycles 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.
```
@marsonmao
Copy link

This has to be fixed error: Identifier 'UNSAFE_componentWillReceiveProps' is not in camel case (camelcase) at src/index.tsx:173:3:; guess that adding a eslint disable next line?

It's named that way because it's a hack, but it needs to get past Travis.
@y6nH
Copy link
Author

y6nH commented Dec 5, 2019

Now it's really broken. I suspect we have to update dependencies.

A one-liner is never a one-liner.

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