Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/backbone.js/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 为什么React教程建议将子组件状态存储在父组件中?_Javascript_Reactjs_Oop - Fatal编程技术网

Javascript 为什么React教程建议将子组件状态存储在父组件中?

Javascript 为什么React教程建议将子组件状态存储在父组件中?,javascript,reactjs,oop,Javascript,Reactjs,Oop,根据以下位置的React教程: 当您希望聚合来自多个子项或有两个子项的数据时 子组件相互通信,将状态向上移动 使其位于父组件中。然后,父级可以传递 通过道具回到孩子的状态,让孩子 组件之间以及与父组件之间始终保持同步 这似乎与良好的OOP实践相矛盾,在OOP实践中,每个对象都保持自己的状态 当您希望聚合来自多个子项或有两个子项的数据时 子组件相互通信,将状态向上移动 使其位于父组件中。然后,父级可以传递 通过道具回到孩子的状态,让孩子 组件之间以及与父组件之间始终保持同步 考虑一个案例,其中一位

根据以下位置的React教程:

当您希望聚合来自多个子项或有两个子项的数据时 子组件相互通信,将状态向上移动 使其位于父组件中。然后,父级可以传递 通过道具回到孩子的状态,让孩子 组件之间以及与父组件之间始终保持同步

这似乎与良好的OOP实践相矛盾,在OOP实践中,每个对象都保持自己的状态

当您希望聚合来自多个子项或有两个子项的数据时 子组件相互通信,将状态向上移动 使其位于父组件中。然后,父级可以传递 通过道具回到孩子的状态,让孩子 组件之间以及与父组件之间始终保持同步

考虑一个案例,其中一位家长有两个孩子,结构如下

<Parent>
    <Child1/>
    <Child2/>
</Parent>


父级不能访问其子级,然后访问,然后使用getter方法吗?也许这不是React中的惯用方法。父级可以访问children组件并从Child获取值,然后它必须将新找到的值传递给另一个子级,这比上述方法复杂得多