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

РЕбят, есть какая-то возможность реагировать на изменение контекста с помощью

useEffect или чего-то подобного? Я столкнулся с проблемой, когда между компонентами один стейт отрабатывает с опозданием и в объект пишу станое, не правильное значение получается. Уэе везде, где можно и нельзя натыкал useEffect, осталось только на контекст грешить

11 ответов

5 просмотров

где то там делаешь setState и при этом ниже берешь просто state? тут каждый день такое обсуждают...setState не проходит мгновенно. асинхронен он

Red-eyed Programmer- Автор вопроса

НЕ совсем понимаю как это реализовать, можно немного подробнее?

Red-eyed Programmer- Автор вопроса

useEffect(() => { context.setQuantityCounter(counterValue); }, [counterValue]); где counterValue - состояние счетчика в текущем компоненте, и я через объект контекста сетаю в стейт у компонента выше по иерархии значение. также вот есть обработчик клика, в котором сетаю непосредственно значение counterValue onClick={() => { +counterValue <= 1 ? setCounterValue("1") : setCounterValue(`${+counterValue - 1}`); }} ТАм еще есть кнопка декремента и функция-обработчик события change на инпуте, в котром хранится значение, но принцип там тот же самый.

Red-eyed Programmer
useEffect(() => { context.setQuantityCounter...

Вы творите какую странную штуку, возьмите стейт менеджер и не мучайтесть, а также прочтите про аргумент сетсиейта в колбек форме

Red-eyed Programmer- Автор вопроса

Ооооох, там очень обширная задача, мне сейчас срочно надо сделать добавление продукта в корзину, его рендер в корзине, точнее массива продуктов по разным сторам и еще кучу логики написать в корзине, споткнулся на том, что не вовремя обновляется квантити и тем самым передаю в корзину не правильные данные

Red-eyed Programmer
Ооооох, там очень обширная задача, мне сейчас сроч...

Да вам бы как раз стейтменеджер жизнь облегчил...

Red-eyed Programmer- Автор вопроса
Dmitriy Shuleshov
Да вам бы как раз стейтменеджер жизнь облегчил...

Спасибо, учту и почитаю про это :) А сейчас скорее всего использую setState и коллбэки, надеюсь в функциональном компоненте его тоже можно применять, как и в компонентах, построенных на классах

Red-eyed Programmer
Ооооох, там очень обширная задача, мне сейчас сроч...

Вот и выросло поколение архитекторов, которые «да нам контекста хватит»

Не, это ж не к тебе предъява, а к тому, кто изначально проектировал приложение, которое в тебя кинули

Red-eyed Programmer- Автор вопроса
Ivan 🧑‍🚀
Не, это ж не к тебе предъява, а к тому, кто изнача...

Ааааа, понял, извини тогда :) Ну как говорится - мне выбирать не приходится сейчас, тушу пожары как могу :D

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

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

@Aiwan что такое база образца?
Alexey
27
Не многие знают, а кто знает, тот уже успел забыть, что в далёком 2004 году эта игра произвела настоящий фурор, настолько революционной была технология, применяемая для её соз...
ICCID
4
Хотя у меня сейчас есть более сложная задача, вот её думаю: как объяснить челу переходного возраста противоположного полу, обучающегося в польском колледже (а-ля наш техникум)...
Вячеслав Кузьменко
15
коллеги, добрый вечер! А никто не знает как модальная форма может себя закрыть? Ну допустим модальная форма определила, что смысла ей работать нет и хочет вернуть modalResult...
Михаил
83
Добрый день Хочу начать обучение языку, не являюсь представителем it, буду благодарна за помощь, совсем пока не понимаю ничего) Подскажите, пожалуйста, где можно начать первы...
Sara Lala
30
верно что я могу удалить эти addq и subq т.к. со стеком никакого взаимодействия нет (исключая call)?
Michael
16
Hi Everyone! To all Are you Looking for Interview Support at the Lowest Price? Look no further! Then contact us We offer Interview Support for a low cost variety of technol...
Rambabu Nallamilli
3
средствами IBX как-то можно выполнить запрос insert ... returning?
Igor
31
всем привет. подскажите: вот по русски называется "прошивка для контроллера". или "бинарь" могут сказать. или "дамп". А как по английски это называется? Я хочу попытаться по...
Павлик Ливаткин
4
А если изначально бот работал так : есть сайт онлайн школы. У каждого ученика свой кабинет. Где он авторизуется по своим данным. И уже в кабинете, на самом сайте делает оплату...
Денис 💡 Фрилансер
13
Карта сайта