Каков наилучший способ обновления состояния внутри цикла - PullRequest
2 голосов
/ 05 апреля 2020

Поскольку setState работает асинхронно, он не обновляет состояние немедленно. Как мне обновить переменную состояния внутри al oop.

Функциональность заключается в проверке нескольких полей и сохранении, если значение поля является допустимым для определенного индекса строки. Однако, поскольку изменения состояния не отражаются сразу, я не получаю желаемый результат.

Пожалуйста, предложите лучший способ справиться с этим.

Ответы [ 2 ]

0 голосов
/ 06 апреля 2020

Хранение данных с использованием ref (s) и обновление состояния в конце решило проблему.

0 голосов
/ 05 апреля 2020

вы правы .. setState работает асинхронно. Так что нет смысла вызывать его несколько раз внутри al oop или где-либо еще, кроме как в конце вашего блока кода. Также не лучшая практика.

Так что вы можете сделать, иметь копию этой переменной состояния, определенной перед вашим l oop. Делайте все, что вы хотите сделать с этой переменной внутри l oop. В конце вы можете просто обновить свое состояние с помощью этой обновленной переменной за один раз.

Таким образом, вам не придется использовать setState несколько раз, также вы можете получить обновленное состояние внутри l oop из фиктивной переменной.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...