关于react JS中数据传递的问题

问题描述 投票:0回答:1

我对反应并不陌生,但我也不是很有经验,我想询问一些关于传递数据的正确方法的意见

现在我们正在进行的当前项目已经有了 redux,我被告知不要使用它,我承认 redux 已经被滥用了,甚至连当地的州也被投入了 redux,这很荒谬

因此,我正在为这个项目进行的重构总是会想到一个问题,我一直在努力解决这个问题,如果有任何规则限制您可以在内部传递数据的深度,那么如何在兄弟组件之间传递数据组件。

  1. 因此,对于第一个,我想问题是,如果您有一个具有五个兄弟组件的组件,让我们想象一下,其中一个组件设置了某种数据,例如网络调用,您如何返回并传递它沿着兄弟组件?我认为我的第一个假设是传回某些状态或回调给父级,然后父级如何从那里执行此操作,但我不确定这是否是唯一的最佳方法。

  2. 我的另一个问题涉及在组件内正确传递数据,所以假设我们有一个父级兄弟姐妹,我需要传递一个具有 5 个组件深度的数据的 prop,这是一个合适的模式还是令人感到羞耻?作为替代方案,我已经看到了反应的生产者上下文消费者模式,我猜这是这种情况,还是存在某种规则来确定何时是最佳使用时间?

  3. 为了完成,是否有任何类型的规则或更好的模式或更好的实践来知道何时使用传递道具、redux 和生产者内容消费者?

谢谢大家

javascript reactjs redux react-hooks
1个回答
0
投票

以下是您问题的简单解答:

  1. 是的,在兄弟组件之间共享数据的最佳方法是将状态提升到其父组件。需要数据的同级可以调用父级的函数,然后父级可以将更新的数据传递给另一个同级。这让一切井井有条。
  2. 将 props 传递到五个组件深处并不理想,因为它会使代码更难以阅读和维护。使用上下文是无需钻孔道具即可共享数据的良好替代方案。它允许您访问组件树中任何位置的数据,因此非常适合深度嵌套的组件。
  3. 利用道具进行简单、直接的亲子沟通。将上下文用于全局状态或当许多组件需要相同的数据时。 Redux 最适合复杂的状态管理,其中需要处理大量数据和操作。选择正确的方法取决于您的应用程序的大小和复杂性。
© www.soinside.com 2019 - 2024. All rights reserved.