親コンポーネントから渡された小道具に基づいて表示されるカスタムのモーダルコンポーネントをレンダリングしています。小道具isVisible
は最初にfalse
であり、ボタンを介して親コンポーネントで更新されます。私はレンダリング機能のconsole.log
ステートメントを介してコンポーネントの状態をチェックしています。コンポーネントが最初に初期化されると、期待どおりにがログに記録されますが、isVisibleが更新されると、false true
が返されます。なぜ州は小道具で更新されていないのですか?新しい小道具が渡されたとき子コンポーネントの状態が更新されない
class MyModal extends React.Component {
constructor(props) {
super(props);
this.state = {
createModalVisible:props.isVisible,
};
setCreateModalVisible = (visible) => {
this.setState({createModalVisible:visible});
}
componentWillMount(){
this.setCreateModalVisible(this.props.isVisible);
}
}
render() {
console.log(this.state.createModalVisible,this.props.isVisible);
return (//modal stuff)
}
}
export default MyModal
私はこれはおそらくかなり基本的なコンポーネントのライフサイクルのものであるが、私はドキュメントからそれを把握し、反応するように、かなり新しいですができなかったことを取得します。
まさに私が探していたものです.-ありがとうございます。 –