Задать вопрос
polyak-888
@polyak-888
Js, React.js, css, frontend

Почему не работает useState?

Есть такой код:
const listPhoneState = useSelector((state) => state.phoneListReducer.phoneList)
  const [serchList, setSearchList] = useState([...listPhoneState])

Вопрос почему в serchList при первой загрузке не попадают данные от стейта редакса на выходе пустой массив, при размонтировании элемента а потом его повторном монтировании все ок данные приходят. И как это поправить?
  • Вопрос задан
  • 1303 просмотра
Подписаться 1 Простой Комментировать
Помогут разобраться в теме Все курсы
  • Яндекс Практикум
    Мидл фронтенд-разработчик
    5 месяцев
    Далее
  • Яндекс Практикум
    React-разработчик
    3 месяца
    Далее
  • Яндекс Практикум
    Фронтенд-разработчик
    10 месяцев
    Далее
Решения вопроса 1
rockon404
@rockon404 Куратор тега React
Frontend Developer
Какой смысл писать состояние из store в состояние компонента? Используйте состояние из store напрямую.
Оптимальней всего, в данном случае, где-то хранить состояние фильтра и фильтровать данные из store налету.
const phoneList = useSelector((state) => state.phoneListReducer.phoneList);
const [search, setSearch] = useState('');
const filteredPhoneList = useMemo(
  () => phoneList.filter(phone => phone.includes(search)),
  [search],
);
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@Mysianio
вайти в айти
Попробуй
useEffect(()=>{
    setSearchList([...listPhoneSearch])
})
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
ITK academy Нижний Новгород
от 80 000 до 120 000 ₽
ITK academy Воронеж
от 50 000 до 90 000 ₽