React повторный рендеринг массива задач

#javascript #reactjs #rendering

#javascript #reactjs #рендеринг

Вопрос:

Привет, я пытаюсь самостоятельно разобраться с приложением todo с минимальной справкой из учебника, чтобы я мог разобраться. Я использую реагирующие хуки и немного смущен тем, почему после добавления нового todo в мой массив он не выполняет повторный рендеринг. Нужен ли мне useEffect? Я подозреваю, что это может иметь какое-то отношение к неизменяемости массивов? Кроме того, если вы проверите консоль в codesandbox, я получу странное поведение, когда, если вы нажмете добавить задачу и оставите ввод без изменений, он добавит несколько задач в массив, однако, когда вы вводите другой ввод, он стирает их все и просто заменяет его текущим значением, которое вы ввели. Любая помощь в решении этих проблем была бы отличной, чтобы я мог продолжать работать!

Codesandbox: https://codesandbox.io/s/musing-einstein-2n121?file=/src/interface.js

Ответ №1:

Вам необходимо сохранить задачи в состоянии для компонента для повторного выполнения,

Попробуйте это:

https://codesandbox.io/s/nervous-goldberg-t3kn3?file=/src/interface.js

Комментарии:

1. О да, это идеально. Все еще изучаю все тонкости react и забыл ту часть о повторном рендеринге состояния при установке. Спасибо! 🙂