我的应用程序中有几个道具是从减速机选择器收到的.
我想知道,我是否应该在下面提到的所有地方为道具设置默认值?
defaultProps
中的
或者我应该只在这三个位置中的一个定义默认值,为什么?
发布于 2021-08-08 23:17:41
建议只在一个地方设置默认值。因为如果它设置在一个地方,您就不必在不同的组件、选择器等中一次又一次地麻烦。这也将避免由于默认值而导致的错误。
我认为,考虑到一个可扩展的应用程序,在reduce中设置看起来更有希望和更稳定。
发布于 2021-08-08 23:09:51
这取决于具体的环境。我建议使用ES6默认参数:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Functions/Default_parameters
例如:
const MyComponent = props => {
const { name = 'default name' } = props;
return (
<>
{name}
</>
)
}
同样的原则也适用于你的减速器:
例如:
function myReducer(state = { name: 'default name' }, action) {
switch (action.type) {}
}
此方法适用于所有函数。或者,您也可以使用Component.defaultProps
来响应组件。
发布于 2021-08-08 23:21:54
理想情况下,您应该只在一个公共位置设置默认的支柱,而不是代码中的所有地方,因为如果将来必须更改逻辑,将很难维护。
在选择器中拥有默认值可以使您不必担心在还原器中重置每个更新的值,以及您可以回溯使用该值。
https://stackoverflow.com/questions/68708020
复制相似问题