reactの子コンポーネントが親コンポーネントの状態をどのように変更できるか。
Reactにおいて、親コンポーネントの状態はpropsを通じて子コンポーネントに渡すことができます。子コンポーネントが親コンポーネントの状態を変更する必要がある場合は、子コンポーネントで親コンポーネントから渡されたコールバック関数を呼び出すことで実現できます。
こちらは例です。
// 父组件
class ParentComponent extends React.Component {
state = {
count: 0
};
// 用于更新父组件的状态的回调函数
updateCount = (newCount) => {
this.setState({ count: newCount });
};
render() {
return (
<div>
<ChildComponent updateCount={this.updateCount} />
<p>Count: {this.state.count}</p>
</div>
);
}
}
// 子组件
class ChildComponent extends React.Component {
handleClick = () => {
// 调用父组件传递过来的回调函数来更新父组件的状态
this.props.updateCount(10);
};
render() {
return (
<button onClick={this.handleClick}>Update Count</button>
);
}
}
上記の例では、親コンポーネントの状態 count は updateCount コールバック関数を介して子コンポーネント ChildComponent に渡されます。子コンポーネントの handleClick メソッドは updateCount 関数を呼び出して親コンポーネントの状態を変更できます。