我有一种情况,父母上课取决于孩子们是否有满足感。
<div className="parent">
<div className="child1"></div>
<div className="child2"></div>
<div className="child3"></div>
</div>
例如,如果child1是唯一具有内容的子级,则父类应为“ a”,如果child1和child2具有内容,则父类应为“ ab”,依此类推。每个子级都保持自己的状态,表示子级可以从内容开始,直到状态改变才结束。我正在寻找使用高阶组件和引用来解决此问题的方法,但尚未找到理想的解决方案。想知道是否有构建模式可以解决此问题。
答案 0 :(得分:0)
我对传统React的理解表明,如果父组件依赖于子组件的状态,那么该状态变量实际上应该由共享祖父母维护,如下所示:
<Grandparent> //Maintains State
<Parent> // receives Grandparent state and state manipulation functions as props
<Child 1> // receives Grandparent state and state manipulation functions as props (via Parent)
<Child ...n> // same as child one.
您将最终一直将定义为方法的函数传递给方法,因此触发的更改可能会影响on的状态变量,并且将props传递给新的对象。
在树上传递函数和上下状态可能会变得混乱,因此,根据对树的级别数和传递的状态数,可以看一下redux来简化流。 Redux在React层次结构的外部 中充当状态容器,使通用状态变量易于在树的任何级别上访问。