Javascript通过引用传递和支持props

时间:2019-03-08 07:54:31

标签: javascript reactjs immutability react-props

据我对Java语言的正确理解,我们有两种不同的传递方式:按值传递和按引用传递。按值表示传递字符串或数字的时间。通过引用传递对象或数组时。

上次在某些项目中,我注意到反模式->有人为this.props.arrayOfNames = newArrayOfNames;分配了新值

我没有机会测试它,但是...它会以某种方式改变父母的对象吗?通过引用?

1 个答案:

答案 0 :(得分:5)

this.props.arrayOfNames = newArrayOfNames不是反模式,而是错误。 props对象是不可变的,这可以通过在开发模式下使用Object.freeze来确保。 arrayOfNames属性值的分配将导致错误。

如果道具与收到的道具不同,正确的方法是使用带有getDerivedStateFromProps钩子的道具衍生的状态。