Javascript “反应”;“提升状态上升”;哲学:如何避免最终导致一个包含所有代码的大型父组件?
这不是一个非常精确的问题。我想我理解“反应提升状态”范式。据我所知,这是两个同级组件访问各自属性的唯一干净方法 但是这样做,我得到了一个包含所有内容的巨大类:所有子组件属性的数据信息,以及负责更新这些信息的所有函数(负责调用Javascript “反应”;“提升状态上升”;哲学:如何避免最终导致一个包含所有代码的大型父组件?,javascript,reactjs,design-patterns,Javascript,Reactjs,Design Patterns,这不是一个非常精确的问题。我想我理解“反应提升状态”范式。据我所知,这是两个同级组件访问各自属性的唯一干净方法 但是这样做,我得到了一个包含所有内容的巨大类:所有子组件属性的数据信息,以及负责更新这些信息的所有函数(负责调用setState)。我不满意的是,我不能再分派到子组件中,这项工作必须与它们相关 我的问题是:如何避免使用react将所有代码集中在父组件中,同时保持良好的干净状态/prop机制?或者我的抱怨可能是错误的?许多人认为直接跳转到redux是个好主意,但事实上,它带来了大量的计算
setState
)。我不满意的是,我不能再分派到子组件中,这项工作必须与它们相关
我的问题是:如何避免使用react将所有代码集中在父组件中,同时保持良好的干净状态/prop机制?或者我的抱怨可能是错误的?许多人认为直接跳转到redux是个好主意,但事实上,它带来了大量的计算开销和样板代码 根据经验,您可以简单地将逻辑向上移动,这不仅与子组件相关,也与同级相关
您还应该了解。将其视为提升状态“足够”。仅将状态提升到可以进行必要的状态共享的点。这有时会是应用程序的顶部,但并不总是如此。将状态提升到根组件不是一个好主意。必要时提升状态。我认为使用redux库管理状态更容易,因为组件可以连接到redux存储来获取数据。您还可以通过调度操作来更新存储。。“最接近的共同祖先”部分很重要,因为像你说的那样,将国家提升到更高的位置会非常麻烦。