Я занимаюсь разработкой приложения React и наткнулся на такое поведение состояния React, в котором я не совсем уверен, правильно ли оно!?
Я инициирую свое состояние следующим образом:
componentDidMount() {
someRequest()
.then(...) //do stuff to get the Payload of the Response
.then(response => {
this.setState({
obj1: response,
obj2: response.someArr
})
})
}
* 1005И у меня есть formHandler, который изменяет состояние obj2
formHandler = event => {
...
this.setState({obj2: newArrState})
}
Я всегда предполагал, что состояние React является неизменным, так что obj2 содержит новую ссылку на новый объект / массив после вызова setState()
.
Однако, если я взгляну на this.state.obj1
, я также увижу изменения, внесенные в this.state.obj1.someArr
, так что this.state.obj1.someArr === this.state.obj2
Это правильное поведение?