javascript - React JS 如何避免深度回调

标签 javascript reactjs

我的问题是“当我想要访问/响应子组件数据时,有没有办法避免在树深处发送回调”。

我有一个组件 Application 包含一个子组件 Person 又包含一个子组件 TraitCollection 又包含一个子组件特质

Trait 改变时,我想将数据发送回 Application 以转发给 Application 中名为 PersonList< 的另一个 child .

我目前的解决方案是将回调作为 Prop 发送给每个 child 。每个回调函数构造并附加最终到达 Application 的数据,我将其作为 prop 传递给 PersonList

我可以想象“添加更多级别”或将组件拆分为更小的部分将使此回调链进一步复杂化。

是否有任何其他方法可以做到这一点,或者这是在 React 中处理从子级向父级传递数据的最佳方式?

最佳答案

您处理它的方式是推荐的方式,也是最像 React 的方式。除了您发现的问题之外,这种方法本身没有任何问题。看起来像 Redux可以帮你解决那个问题。 Redux 让您可以使用通用存储和基于 Action 创建器、 Action 和缩减器的良好设计模式来统一 React 应用程序的状态。

关于javascript - React JS 如何避免深度回调,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45934970/

相关文章:

javascript - 如何检查 JavaScript 中是否存在函数?

css - Jest 中导入的样式对象为空

javascript - 在 WebGL 中在曲面上绘制曲线

javascript - 使用 cheerio 检索 href

javascript - 是否可以将函数链接到数组?

reactjs - 关于useEffect中的无限循环

javascript - useRef() 无效 Hook 调用 [NextJs]

arrays - 当状态是对象数组时如何更新特定值 - React

javascript - 添加了一个 props onPress,因为我正在调用事件handleEvent。但方法内没有打印任何内容

JavaScript:如何在键绑定(bind)上发送 HTTP post 请求