首页 > 解决方案 > 设置道具默认值的最佳方法是什么?

问题描述

我的应用程序中有一些从减速器选择器收到的道具。

我想知道,我应该在下面提到的所有地方为道具设置默认值吗?

  1. 在 defaultProps
  2. 在减速机中
  3. 在选择器中

或者我应该只在这 3 个位置中的 1 个定义默认值,为什么?

标签: javascriptreactjsreact-props

解决方案


建议只在一处设置默认值。因为如果它设置在一个地方,你就不必在不同的组件、选择器等中一次又一次地打扰。这也将避免由于默认值而导致的错误。

  1. 在 defaultProps:如果您设置 defaultProps,如果 prop 用于多个组件,您最终将在多个组件中设置默认值。如果您错过,则 UI 上显示的结果不一致。
  2. 在选择器中:如果您在多个选择器中使用来自商店的相同道具,则必须在返回结果之前设置默认值。再次不是一个好方法。
  3. 在 reducer 中:这是道具将在商店中设置的地方。一旦您设置了默认值,它将在所有组件、选择器中使用而无需任何更改。

我认为,考虑到可扩展的应用程序,在 reduce 中设置看起来更有前途和稳定的方法。


推荐阅读