Reactjs 将React钩子与redux一起使用

Reactjs 将React钩子与redux一起使用,reactjs,redux,react-hooks,Reactjs,Redux,React Hooks,如果我在Redux的reducer中有一个状态,我应该在函数组件中有一个“本地”状态吗?或者我应该只使用reducer中的状态? 更清楚地说。。。如果我使用的是Redux,我应该使用(useState)这样的React钩子吗?对此没有“正确”的答案。有些用户更喜欢将每一条数据都保存在Redux中,以便随时维护其应用程序的完全可序列化和受控版本。其他人更喜欢在组件的内部状态中保持非关键或UI状态,例如“此下拉列表当前是否打开” 使用局部组件状态是可以的。作为一名开发人员,您的工作是确定应用程序的状

如果我在Redux的reducer中有一个状态,我应该在函数组件中有一个“本地”状态吗?或者我应该只使用reducer中的状态?
更清楚地说。。。如果我使用的是Redux,我应该使用(useState)这样的React钩子吗?

对此没有“正确”的答案。有些用户更喜欢将每一条数据都保存在Redux中,以便随时维护其应用程序的完全可序列化和受控版本。其他人更喜欢在组件的内部状态中保持非关键或UI状态,例如“此下拉列表当前是否打开”

使用局部组件状态是可以的。作为一名开发人员,您的工作是确定应用程序的状态类型,以及每个状态应该位于何处。找到一个适合你的平衡点,并坚持下去

确定应将何种数据放入Redux的一些常见经验法则:

  • 应用程序的其他部分是否关心此数据
  • 您是否需要能够基于此创建进一步的派生数据 原始数据
  • 是否使用相同的数据驱动多个组件
  • 将这种状态恢复到给定状态对您有价值吗 时间点(即时间旅行调试)
  • 是否要缓存数据(即,如果数据处于状态,则使用状态) 已经存在,而不是重新请求它)
  • 热重新加载UI时是否要保持此数据的一致性 组件(交换时可能会失去其内部状态)
参考:

因此,当我需要一个用于多个组件的状态时,我应该在reducer中写入此状态,而仅用于一个组件的状态应该写入该组件而不是reducer中?最后一个语句为true。第一句话,并不总是这样。组件之间传递数据的方式有很多(例如,道具传播)。虽然此链接可以回答问题,但最好在此处包含答案的基本部分,并提供链接供参考。如果链接页面发生更改,仅链接的答案可能无效。-@谢谢您的反馈。编辑以包括基本部分。