问答题1282/1593React中,能否直接将 props 的值复制给 state?

难度:
2021-07-04 创建

参考答案:

应该避免这种写法:

1constructor(props) { 2 super(props); 3 // 不要这样做 4 this.state = { color: props.color }; 5}

因为这样做毫无必要(你可以直接使用 this.props.color),同时还产生了 bug(更新 prop 中的 color 时,并不会影响 state)。

只有在你刻意忽略 prop 更新的情况下使用。

此时,应将 prop 重命名为 initialColor 或 defaultColor。必要时,你可以修改它的 key,以强制 重置 其内部 state。

最近更新时间:2024-08-10

赞赏支持

预览

题库维护不易,您的支持就是我们最大的动力!