Имея проблему с обновлением состояния реакции в массиве, а также нашла решение проблемы, мне нужно знать причину проблемы.
constructor() {
super();`
this.state = {
name: "",
exampleArray: [],
nameArr: ["s", "s1", "s2", "s3", "s4"]
};
}
componentDidMount() {
for (let i = 0; i < 5; i++) {
this.setState({
name: "Manikandan",
exampleArray: [
...this.state.exampleArray,``
this.state.exampleArray.push(this.state.nameArr[i])
]
});
}
В приведенном выше коде я поддерживаю массив состояний вызвал nameArr и зациклил этот массив в didMount LifeCycle и изменил состояние exampleArray, нажав в этом, я знаю, setstate isyn c, и реакция будет пакетировать их и будет визуализировать компонент только один раз, но проблема в том, что массив результатов получается для exampleArray is exampleArray = ['s', 's1', 's2', 's3', 5] Однако я решил эту проблему, используя setState через Callback.
Но я хочу знать, почему именно последний элемент из l oop толкает длину массива вместо значения при использовании обычного setState.