Допустим, у меня есть этот компонент React:
class SomeComponent extends Component {
constructor(props) {
super(props);
this.state = {
topObject: {
childObject1: {
grandChildObj1: {
attr1: this.props.val1,
attr2: this.props.val2
}
},
childProp: 1
},
topProp: 2
};
}
render() {
return (
<div>
<span>{this.state.topObject.childObject.grandChildObject.attr1}
</span>
</div>
// ...
)
}
changeDeepNestedStateValue(val) {
// need code here to change the state
// set topObj.childObject.grandChildObject.attr1
// to the 'val' argument
}
}
Какой код мне понадобится внутри функции 'changeDeepNestedStateValue', чтобы она неизменно изменяла состояние, чтобы React обнаруживал изменение и повторно отображал?
Являются ли глубинные значения состояний плохой практикой или анти-паттерном? Если да, то существует ли оптимальная структура для государства, может быть плоская?