私がそうだったのと同様の問題を抱えている人は...これは反応ルータv4用です。
あなたができることは、代わりにcomponentWillMount()
メソッドにフックです。
は、コンポーネントのコンストラクタでmessage
を定義します。
constructor(props) {
super(props);
this.message = '';
}
次に、あなたのcomponentWillMount()
は次のようになります。
componentWillMount() {
if (this.props.location.state && this.props.location.state.message) {
this.message = this.props.location.state.message;
this.props.history.replace({
pathname: this.props.location.pathname,
state: {}
});
}
}
メッセージをつかんした後、上記のコードは、場所の状態に置き換えられます。したがって、そのメッセージを前方に表示するには、this.message
を使用します。そのようにレンダリング中に
さて、あなたはあなたのメッセージを参照することができます。
render() {
return (
<div>{this.message}</div>
);
}
あなたのメッセージは時に場所の変更をクリアする必要があります。
このタスク専用のコンポーネントを作成することをお勧めします。このコンポーネントは、メッセージが必要なコンポーネントに含めることができます。