no-component-will-receive-props
Rule category
Restriction.
What it does
Prevents usage of componentWillReceiveProps in class components.
Why is this bad?
This API has been renamed from componentWillReceiveProps to UNSAFE_componentWillReceiveProps. The old name has been deprecated. In a future major version of React, only the new name will work.
Run the rename-unsafe-lifecycles codemod to automatically update your components.
Examples
Failing
import React from "react";
class class ExampleExample extends React.class React.Component<P = {}, S = {}, SS = any>Component {
Example.componentWillReceiveProps(): voidCalled when the component may be receiving new props.
React may call this even if props have not changed, so be sure to compare new and existing
props if you only want to handle changes.
Calling
{@link
Component.setState
}
generally does not trigger this method.
Note: the presence of
{@link
NewLifecycle.getSnapshotBeforeUpdate
getSnapshotBeforeUpdate
}
or
{@link
StaticLifecycle.getDerivedStateFromProps
getDerivedStateFromProps
}
prevents
this from being invoked.componentWillReceiveProps() {
// ...
}
}Passing
import React from "react";
class class ExampleExample extends React.class React.Component<P = {}, S = {}, SS = any>Component {
Example.UNSAFE_componentWillReceiveProps(): voidCalled when the component may be receiving new props.
React may call this even if props have not changed, so be sure to compare new and existing
props if you only want to handle changes.
Calling
{@link
Component.setState
}
generally does not trigger this method.
This method will not stop working in React 17.
Note: the presence of
{@link
NewLifecycle.getSnapshotBeforeUpdate
getSnapshotBeforeUpdate
}
or
{@link
StaticLifecycle.getDerivedStateFromProps
getDerivedStateFromProps
}
prevents
this from being invoked.UNSAFE_componentWillReceiveProps() {
// ...
}
}