ここでは、アプリケーションのルートコンポーネントがhandleHeaderTitle関数をすべての子プロセスに複製によって渡しています。 子コンポーネントの内部では、この関数はcomponentWillMount() で呼び出され、ルートコンポーネントはルートに基づいてヘッダテキストを更新します。子コンポーネントが親コンポーネントの状態を変更しています
ルート:
{
this.props.children &&
React.cloneElement(this.props.children, {
handleHeaderTitle: this.handleHeaderTitle
})
}
handleHeaderTitle(title) {
this.setState({ headerTitle: title });
}
子供:
componentWillMount() {
this.props.handleHeaderTitle("Profile");
}
Profile.propTypes = { handleHeaderTitle: React.PropTypes.func };
状態はここに、その親の子コンポーネントから設定されているように、実際に現地ではありませんので、Reduxの追加については、この権利ユースケースはありますか?
私はSET_PROFILE_HEADERのようなアクションを作成し、レデューサーの内側にこれらを組み合わせる必要があると思います。しかし、コンテナルートコンポーネントに子コンポーネントがヘッダータイトルを変更したことを通知する方法をまだ考えている
ありがとうChardy、私はサイドバーコンポーネント(https://github.com/balloob/react-sidebar)を使用していますが、子コンポーネントのヘッダを定義できません。 – fortm