通过 React 中的回调函数传递父状态更新
使用嵌套 React 组件时,可能需要更新父组件的状态子组件中的父组件。由于 props 是不可变的,因此直接为其赋值是不可行的。
在这种情况下,另一种方法是将函数传递给子组件,以允许其更新父组件的状态。这可以通过如下方式实现:
// Parent Component class Parent extends React.Component { constructor(props) { super(props); this.handler = this.handler.bind(this); } handler() { this.setState({ someVar: 'some value', }); } render() { return <Child handler={this.handler} />; } } // Child Component class Child extends React.Component { render() { return <Button onClick={this.props.handler} />; } }
通过这种机制,子组件可以调用 props 提供的函数并更新父组件的状态。
但是,需要注意的是,组件结构可能需要重新评估。您的示例中的组件 5 和 3 似乎没有直接关系。
一种潜在的解决方案是引入一个封装组件 5 和 3 的更高级别组件。该父组件可以维护与两个子组件并通过 props 将其传递下来。
以上是如何在 React 中从子组件更新父组件状态?的详细内容。更多信息请关注PHP中文网其他相关文章!