Size: a a a

2021 May 04

A

Aleksandr in ☄️ effector
Если данных нет, то из локалсторейджа дергает токен, токен кидает в эффект и стучится в апи
источник

DS

Dmitriy Shuleshov in ☄️ effector
Лучше сюда, это частый кейс и наше обсуждение - прямое назначение чата
источник

YM

Yo Mi in ☄️ effector
Идея была что статус просто промежуточный стор который определяет текущее состояние токена.
export enum EAuthorizationStatus {
   'UNDEFINED',
   'LOADING',
   'NOT_EXISTED',
   'EXISTED',
   'READY',
}
источник

YM

Yo Mi in ☄️ effector
токен в сторе не нужен был так как клиенте был метод который сам доставал его из локалстораджа
источник

YM

Yo Mi in ☄️ effector
По факту токен никуда не шел  в эффекты. он в клиенте использовался уже. Дергали его чтобы проверить что он есть и валиден. А также если какой то запрос вернул 401 то меняли стор в not-existed что разлогинивало пользователя. Специфика была такая что 401 получаем только есть токен невалиден
источник

DS

Dmitriy Shuleshov in ☄️ effector
понял, ну тогда вроде верная концепция с гардом подсказанная выше
источник

В

Влад in ☄️ effector
Если у меня такая структура:
const Component1 = () => {
 const data = useStore($store);
 return (
<>
 {
 data.map(el => <Component2 el={el} />)
 }
</>
)
}

Потом в Component2 аналогично
return el.items.map(item => <Component3 /> )

Итд. Такой вложенный маппинг несколько раз повторяется.

Когда я в самом нижнем Component5 изменю $store, то у меня перерисуется все - или только компоненты с изменившимися данными?
источник

DS

Dmitriy Shuleshov in ☄️ effector
Что вы понимаете под "перерисуется"?
источник

В

Влад in ☄️ effector
Ререндер
источник

DS

Dmitriy Shuleshov in ☄️ effector
что вы подразумеваете под этим?
источник

🦜

🦜 in ☄️ effector
Если у тебя все 5 компонентов подписаны на один стор, то его обновление вызовет ререндер всех
источник

SE

Stanislav Eremenko in ☄️ effector
Глянь ещё useList в доке эффектора
источник

FB

Furrya Black in ☄️ effector
интересно, а сколько раз, там же айтем из этого стора автор вопроса передает пропом)
источник

c⁣

createStore<🦉>... in ☄️ effector
Реакт перерендерит все компоненты.
Но DOM скорее всего меняться не будет
источник

В

Влад in ☄️ effector
Вопрос скорее вот о чем: в данной ситуации нет каких-то методов оптимизации для приложения, чтобы не было ререндеров? Или здесь это данность, от которой не уйти?
источник

🦜

🦜 in ☄️ effector
можно уйти, если код написать верно
источник

🦜

🦜 in ☄️ effector
источник

🦜

🦜 in ☄️ effector
Вот пример с точечными ререндерами
источник

🦜

🦜 in ☄️ effector
Переслано от 🦜
I improve you codesandbox

If you make the right composition, you can achieve a point re-renderer.

https://codesandbox.io/s/effector-async-showcase-forked-imwnv
источник

NN

Nikita N. in ☄️ effector
линк сломан
источник