Size: a a a

2020 September 20

🚀🚀

🚀🔬 🚀🔬🚀🔬... in ☄️ effector
Timofey Goncharov
в моем кейсе не выходит вот так просто выкрутиться.

мне нужно именно сделать то что я задумал. получить из серализованной сторы значение соответствующее некой маппаной сторы.
а что потом с этим значением требуется сделать? я примерно понял, но желательно конкретно)
источник

TG

Timofey Goncharov in ☄️ effector
🚀🔬 🚀🔬🚀🔬
а что потом с этим значением требуется сделать? я примерно понял, но желательно конкретно)
потом это значение нужно в экземпляр класса засунуть.

экземпляр класса это бибилотека форматирующая валюту. она принимает конфиг.
и вот на сервере она конфигурируется за счет подписки через watch на нужную стору. а вот на фронте уже эта подписка не срабатывает.
источник

🚀🚀

🚀🔬 🚀🔬🚀🔬... in ☄️ effector
Timofey Goncharov
потом это значение нужно в экземпляр класса засунуть.

экземпляр класса это бибилотека форматирующая валюту. она принимает конфиг.
и вот на сервере она конфигурируется за счет подписки через watch на нужную стору. а вот на фронте уже эта подписка не срабатывает.
не срабатывает ватч только если этого стора на фронте вообще нет 🤔
источник

TG

Timofey Goncharov in ☄️ effector
эффект вызывается на сервере, изменяет стору, срабатывает watch и изменяет экземпляр класса. и только потом рендериться контент.

на фронте контент рендериться до того как экземпляр класса получин правильный конфиг — в резульатет рассинхрон данных.
источник

TG

Timofey Goncharov in ☄️ effector
🚀🔬 🚀🔬🚀🔬
не срабатывает ватч только если этого стора на фронте вообще нет 🤔
никто на фронте не вызывает allSettled и соотвественно effect это делается только на server side.
источник

TG

Timofey Goncharov in ☄️ effector
по тому и watch не срабатывает
источник

🚀🚀

🚀🔬 🚀🔬🚀🔬... in ☄️ effector
Timofey Goncharov
эффект вызывается на сервере, изменяет стору, срабатывает watch и изменяет экземпляр класса. и только потом рендериться контент.

на фронте контент рендериться до того как экземпляр класса получин правильный конфиг — в резульатет рассинхрон данных.
это из-за того что работать нужно из пейджей некста и нужно успеть сделать всё синхронно?
источник

c⁣

createStore<🦉>... in ☄️ effector
Timofey Goncharov
потом это значение нужно в экземпляр класса засунуть.

экземпляр класса это бибилотека форматирующая валюту. она принимает конфиг.
и вот на сервере она конфигурируется за счет подписки через watch на нужную стору. а вот на фронте уже эта подписка не срабатывает.
Стор — мужской род
источник

TG

Timofey Goncharov in ☄️ effector
🚀🔬 🚀🔬🚀🔬
это из-за того что работать нужно из пейджей некста и нужно успеть сделать всё синхронно?
ну вроде да.
источник

TG

Timofey Goncharov in ☄️ effector
🚀🔬 🚀🔬🚀🔬
это из-за того что работать нужно из пейджей некста и нужно успеть сделать всё синхронно?
некст вызывает allSettled, в allSettled вызывается эффект который вызывает watch.
а фронт не делает всего этого, у него все готовенькое и серализованное. watch не срабатывает
источник

🚀🚀

🚀🔬 🚀🔬🚀🔬... in ☄️ effector
просто если бы была возможность приостановить рендеринг на фронте, то это было бы оптимально
источник

TG

Timofey Goncharov in ☄️ effector
когда нет никакой внешней зависимости. рендер корректный.

но у в моем коейсе внешняя зависимость есть — экезмпляр класса бибилотеки для форматирования валют.
источник

🚀🚀

🚀🔬 🚀🔬🚀🔬... in ☄️ effector
Timofey Goncharov
некст вызывает allSettled, в allSettled вызывается эффект который вызывает watch.
а фронт не делает всего этого, у него все готовенькое и серализованное. watch не срабатывает
ватч стора срабатывает всегда, если это не store.updates.watch
источник

c⁣

createStore<🦉>... in ☄️ effector
Timofey Goncharov
ой сложно.
есть экземпляр класса, который изменяется при изменении сторы.
стора SSRная.

на бэке срабатывает эффект и по результату его срабатывания происходит изменение этого экземпляра. а вот на фронте не срабатывает эффект и не происходит имзенине этого экземпляра.
в результате разные данные.

я вот думаю взять в ручную и еще до того как был произведен рейндер, проверить что код выполняется на фронте и в ручную взять __NEXT_DATA__, найти там стору и потом обновить тот экземпляр класса 😅
Мб положить этот экземпляр в стор?
источник

🚀🚀

🚀🔬 🚀🔬🚀🔬... in ☄️ effector
но это чисто на заметку, ватчи тут не самое оптимальное направление мысли
источник

TG

Timofey Goncharov in ☄️ effector
createStore<🦉> ⁣
Мб положить этот экземпляр в стор?
я вот думал о таком. но хрен его знает сколько он там насерелизует. может мегабайт выйдет)
источник

🚀🚀

🚀🔬 🚀🔬🚀🔬... in ☄️ effector
вообще вместо find лучше использовать scope.getState на твоём компьютед сторе
источник

TG

Timofey Goncharov in ☄️ effector
ну и в итоге. есть способ получить из серализованного стора значение маппаной сторы?
источник

🚀🚀

🚀🔬 🚀🔬🚀🔬... in ☄️ effector
это не правильный вопрос(
источник

TG

Timofey Goncharov in ☄️ effector
а как правильно то)
источник