With the release of React
16.3 we have access
to some new lifecycle
methods
and are in the first phase of what will eventually result in the deprecation
and removal of componentWillMount
, componentWillReceiveProps
, and
componentWillUpdate
.
You may not be ready to move your project to React 16.3, but that doesn't mean you can't start migrating your lifecycle methods now. We'll need a polyfill -- react-lifecycles-compat.
import React from 'react';
import { pollyfill } from 'react-lifecycles-compat';
class MyComponent extends React.Component {
static getDerivedStateFromProps(nextProps, prevState) {
// ...
}
render() { ... }
}
polyfill(MyComponent)
export default MyComponent;
For any of our class components for which we'd like to start using the new lifecycle methods, we just need to import the polyfill function and then transform the class component with the polyfill before exporting it.