そのコンポーネント内の要素を処理している場合、コールバックcomponentDidMount
は完全に機能しますが、コンポーネントのグループがマウントされた後、ページ上の複数のコンポーネントの要素を処理する関数を実行したいと考えています。私ができる最善の方法は何ですか?
2207 次
2 に答える
1
props
各componentDidMount
メソッドが親コンポーネントを呼び出すことを使用して、コールバック関数を各コンポーネントに渡すことができます。これは、たとえば、そのコンポーネントの状態でカウンターを更新します。カウンターがレンダリングするコンポーネントの量に達したら、関数を実行します。
親コンポーネント:
....
shouldComponentUpdate(nextProps, nextState) {
return nextState.childCount >= 4;
}
incrementChildCount() {
this.setState({ childCount: this.state.childCount + 1 });
}
render() {
return(
<div id="container">
<Child callme={this.incrementChildCount} />
<Child callme={this.incrementChildCount} />
<Child callme={this.incrementChildCount} />
<Child callme={this.incrementChildCount} />
);
}
子コンポーネント:
componentDidMount() {
this.props.callme()
}
于 2016-09-17T19:22:03.087 に答える