Реагировать setState толкает массив разъяснений - PullRequest
0 голосов
/ 22 апреля 2020

Имея проблему с обновлением состояния реакции в массиве, а также нашла решение проблемы, мне нужно знать причину проблемы.

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.

...