ऐसा लग रहा है कि componentWillReceiveProps
आने वाले रिलीज में पूरी तरह से एक नई जीवनचक्र पद्धति के पक्ष में होने जा रहा है getDerivedStateFromProps
: स्थिर getDerivedStateFromProps () ।
निरीक्षण करने पर, ऐसा लगता है कि अब आप के बीच एक प्रत्यक्ष तुलना करने में असमर्थ हैं this.props
और nextProps
, जैसे आप में कर सकते हैं componentWillReceiveProps
। क्या इसके आसपास कोई रास्ता है?
इसके अलावा, यह अब एक वस्तु देता है। क्या मैं यह मानने के लिए सही हूं कि वापसी मूल्य अनिवार्य रूप से है this.setState
?
नीचे एक उदाहरण है जो मैंने ऑनलाइन पाया: प्रॉप्स / राज्य से प्राप्त राज्य ।
इससे पहले
class ExampleComponent extends React.Component {
state = {
derivedData: computeDerivedState(this.props)
};
componentWillReceiveProps(nextProps) {
if (this.props.someValue !== nextProps.someValue) {
this.setState({
derivedData: computeDerivedState(nextProps)
});
}
}
}
उपरांत
class ExampleComponent extends React.Component {
// Initialize state in constructor,
// Or with a property initializer.
state = {};
static getDerivedStateFromProps(nextProps, prevState) {
if (prevState.someMirroredValue !== nextProps.someValue) {
return {
derivedData: computeDerivedState(nextProps),
someMirroredValue: nextProps.someValue
};
}
// Return null to indicate no change to state.
return null;
}
}
componentWillReceiveProps