Что значит "перестал срабатывать"? Если условие истинно - то setState внутри if и не сработает
Смотри. Это условие - длинна поиска в инпуте на 2м скрине. Если там есть буквы, то срабатывает сет стейт. Сейчас все ок, появляются буквые, поиск работает, как на скрине. Но когда я стираю буквы, там снова пусто, в предыдущее состояние ессно уже не возвращается. Вот в блоке else я хотел как то вернуть прошлый стейт
Как вы вернете прошлый стейт, если вы его перезатерли новым?
вот в том то и вопрос. Выше в коде я скинул как формируется прошлый стейт код, можно ли как сформировать его заного в блоке else?
Никакой магии нет setState(foo) -> состояние компонента теперь foo, о старом состоянии больше нет никакой информации
понимаю, но если мы сотрем символы из инпута, условие if перестанет выполнятся, разве не пойдет проверка на else , где мы укажем новый стейт через setState?
Пойдет, но вам надо указать явно НОВОЕ состояние, которое вы хотите установить А вы не подумали, что будет, если пользователь одну букву сотрет, а не все? Как вы обновите отфильтрованные данные исходя уже из новой строки поиска?
Понимаю, отличное объяснение почему моя затея говно)) Значит не буду пытаться крутить велосипед и сделаю как делают в курсе)) Просто там это типа практика, сами сделайте, вот я и наворотил
Это нормально Вот вы попробовали, не получилось, поняли, что решение было неверное, исправили, это нормальный процесс обучения
Да, спасибо за объяснение)
ну вот такой курс, Юрий Бура, начало изучения реакт ,а как надо в 2021?
Ну ответь ты человеку, что надо
хуки же нельзя в условиях прописывать
а, это просто обучающий пример , на котором изучаются какие то основы реакт. Там его вместе с лектором пишешь, а не сам, самостоятельно не много реализовано тут от меня в плане практики. Такое нельзя в пет проекты заносить , это так, просто обучение) Потом уже буду брать сам проект какой то и делать, как разберусь. Ну, типа классовые компоненты тоже разобрать как то надо было. В будущем надеюсь норм буду функц и хуки юзать
извиняюсь, слепой
https://codesandbox.io/s/filter-6c4r4?file=/src/App.js Вот базовый, элементарный пример
Да да, именно так в курсе он и делает, спасибо))
Обсуждают сегодня