169 похожих чатов

Вопрос. history.listen берет данные из замыкания? потому что у меня

почему-то переменная query хранит стейт первого рендера

useEffect(() => {
history.listen(() => {
dispatch(action(parseQuery(query)));
});
}, []);

20 ответов

3 просмотра

listen не при чём — это твой код берет query из замыкания

Oleg- Автор вопроса
Ivan 🧑‍🚀
listen не при чём — это твой код берет query из за...

хм. а как сделать чтобы query всегда был актуальным?

Oleg- Автор вопроса
Oleg
хм. а как сделать чтобы query всегда был актуальны...

задачу словами объясни, а то пока твой код похож на бред

Oleg- Автор вопроса
Ivan 🧑‍🚀
задачу словами объясни, а то пока твой код похож н...

ну мне нужно слушать изменение урла и на это изменение обновлять стейт

Oleg
ну мне нужно слушать изменение урла и на это измен...

const location = useLocation() useEffect(() => { updateState(location) }, [location])

Oleg- Автор вопроса
Oleg- Автор вопроса
Ivan 🧑‍🚀
const location = useLocation() useEffect(() => { ...

странно но в этом случае берется предпоследний стейт

Oleg- Автор вопроса
Ivan 🧑‍🚀
или у тебя в коде ошибка, или ты не прав

useEffect(() => { return history.listen(() => { for (const [key, value] of query) { console.log(key, value); } dispatch(getOverview(parseQuery(query))); }); }, [location]); предполагаю из-за того что я сделал return. но чет хз

Oleg
useEffect(() => { return history.listen(() => { ...

твой код опять похож на бред

Oleg- Автор вопроса
𝖊𝖙𝖍𝖔𝖗𝖟 😈
а зачем тут return нужен?

листенер вешается при каждом ререндере

Oleg- Автор вопроса
𝖊𝖙𝖍𝖔𝖗𝖟 😈
но он не очищается

ну да. и с каждым ререндером экшен вызывает на 1 раз больше

https://overreacted.io/a-complete-guide-to-useeffect/#each-render-has-its-own-props-and-state

Oleg- Автор вопроса
Dmitriy Shuleshov
https://overreacted.io/a-complete-guide-to-useeffe...

да я в принципе уже понял почему так происходит.

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

Обсуждают сегодня

Интересно, нет ли какого-то способа получить из dll не адрес самой метки, а адрес со смещением?
The Bird of Hermes
54
Делал задачу вот такую https://stepik.org/lesson/4985/step/9?unit=1083 получилось такое https://play.haskell.org/saved/ipKrepqe оно работает, тестов много не писал, но работае...
Fedor
22
Похоже опять туплю задача https://stepik.org/lesson/5431/step/8?unit=1132 код и его работа https://play.haskell.org/saved/lmYTShXM на мой взгляд все правильно, и даже избыто...
Fedor
8
что-то я не понимаю, в линуксе отладочную информацию как убрать из бинаря? он что с этой опцией, что без - одного и того же (достаточно большого) размера (да, я про лазарь)
Iluha Companets
13
Hey Does anyone know how can I receive push notifications from Github on my account? The official Github android app doesn't send notifications, and I don't use the email bec...
Jacob
10
Как в webstorm включить фичу, чтобы прямо в коде можно было видеть кто редактировал это строчку и в каком коммите?
Антон
8
Anyone here suffers from unexplained aural migraines, who would be up for talking for a bit? Doesn't *have* to be aural, but I am not asking about headaches, I mean actual mi...
Martin Rys
58
Всем привет, а может кто-то подсказать какие-то советы или типо того, как оптимальнее всего сапортить сервисы в разных локациях (канада + австралия + евпропа)? Будет ли ошибк...
Stas
8
Это что теперь, любой бот сможет принимать платежи без ебли с юр лицами?
Lencore
8
Сообщение* в закодированном виде. То есть, просто сделать sendMessage?text=Привет бла-бла! не получится, надо в HEX переводить, и добавлять процент, типа такого: sendMessage?t...
КТ315
21
Карта сайта