深いネストされた場合、どうすれば親コンポーネントnotify
children
コンポーネントdispatches
?子供が発送したときに親に通知する方法?
class ParentComponent extends Component {
render() {
return (
<div>
{this.props.children}
</div>
);
}
}
子供はどんな深さでも構いません。
<Component1>
<Component2>
<ComponentThatWillDispatch />
</Component2>
</Component1>
「ディスパッチ」とはどういう意味ですか?すべての子がレンダリングされた後、親の 'componentDidMount'メソッドが呼び出されます。個々のコンポーネントは 'componentDidMount'を実装して親メソッドを呼び出すこともできます。しかし、これを使って何かの状態を変えたいと思っているのなら、あなたには恥ずべきことです。 –
ディスパッチをブロードキャストしたい場合は、ある種の関数(例えばdidDispatch)を親から各子に渡す必要があり、各子がこれを呼び出す必要があります。 – Mikkel
@RyanWheale:ディスパッチでは、子コンポーネントがライフサイクルメソッドを呼び出し、reduxストアでアクションを実行することを意味します。例: 'this.store.dispatch({type:...})' 私はレンダリングについて話していません。 – DKo