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

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

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

Вопрос почему в serchList при первой загрузке не попадают данные от стейта редакса на выходе пустой массив, при размонтировании элемента а потом его повторном монтировании все ок данные приходят. И как это поправить?
  • Вопрос задан
  • 1289 просмотров
Подписаться 1 Простой Комментировать
Решения вопроса 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])
})
Ответ написан
Ваш ответ на вопрос

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

Похожие вопросы