参考答案:
应该避免这种写法:
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