React:使用redux将值从子组件传递到父组件并与兄弟组件共享,这是否是比context更好的选择?

cld4siwp  于 2022-11-12  发布在  React
关注(0)|答案(1)|浏览(139)

我的react应用程序结构如下(简化)
第一个
用户登录<Header>组件后,我需要将其传递回<App>,并与<Content>组件等共享。
由于我的react应用有超过五个兄弟组件,它们都需要访问userId信息,我认为使用props逐个传递信息可能不是一个明智的选择。在这里使用Redux会更好吗?因为据我所知,Context是用于从父组件传递到子组件,而不是从子组件传递到父组件。

mqkwyuun

mqkwyuun1#

您可以同时使用ContextRedux在react中跨组件共享数据,而无需使用props。
当你在两者之间做出选择时,有两件主要的事情需要考虑。

  1. Redux更新状态的速度比Context
    如果您需要快速访问状态,或者状态变化太快,那么使用Redux会更方便。
    1.当你有太多的Contexts时,你将不得不在你的应用中管理不同的上下文,即用不同的上下文 Package 不同的组件,或者用太多的上下文 Package 同一个组件(我称之为上下文汉堡包,当上下文的数量增加时,它可能会变得混乱)。
    你可以同时使用这两个。这没有问题。对于登录信息,Context使用得更频繁,因为你只在一段时间内登录和注销一次。

相关问题