Size: a a a

2021 June 22

VL

Vincent Law in ☄️ effector
Угу, если в том коде использовать евент, то будет ошибка. Просто, как мне кажется, лучше писать !pageLoaded => return <div>loading</div>, чем !user => return loading или вообще отдельный стор создавать.
источник

c⁣

createStore<🦉>... in ☄️ effector
мне нравится тем, что в модели нет никакой информации о реакте
получается хорошая оторванность бизнес-логики от деталей реализации вьюхи
источник

c⁣

createStore<🦉>... in ☄️ effector
собственно, в моих проектах Gate вообще никогда не используется
источник

VL

Vincent Law in ☄️ effector
но selectors же привязаны к вьюхе? В них useStore.
источник

c⁣

createStore<🦉>... in ☄️ effector
в модели же их нет
источник

c⁣

createStore<🦉>... in ☄️ effector
у меня примерно так выглядит модель
https://github.com/accesso-app/frontend/blob/master/src/pages/login/model.ts
источник

c⁣

createStore<🦉>... in ☄️ effector
источник

🦜

🦜 in ☄️ effector
гейт использует useEffect, как он срабатывает до рендера?
источник

c⁣

createStore<🦉>... in ☄️ effector
у эффектов есть .pending стор
на его основе и можно показывать лоадер
источник

DS

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

c⁣

createStore<🦉>... in ☄️ effector
открывал, но чет упустил из виду
источник

VL

Vincent Law in ☄️ effector
так, все же стоит использовать gate в данном случае? Явно же проще написать !pageLoaded нежели !user, !todos, !projects и т.д.
источник

DS

Dmitriy Shuleshov in ☄️ effector
скоро реакт вообще исчезнет по этой ссылке🌚😅
источник

VL

Vincent Law in ☄️ effector
Ну, хотя, можно же создать булевый стор, который будет информировать о том, было ли вызвано событие appLoaded или нет, дабы loading показать. Тут дело в том, что есть необходимость сразу множество данных загрузить и user и projects и screens (странички проекта, под них отдельная модель)
источник

c⁣

createStore<🦉>... in ☄️ effector
Показывай лоадер по fx.pending а не событию pageLoaded
источник

c⁣

createStore<🦉>... in ☄️ effector
loading = combine(userFx.pending, projectsFx.pending, …..)
источник

DS

Dmitriy Shuleshov in ☄️ effector
проблема в том что пендинг всегда изначально фолс, если запускать эффекты из реакта
источник

VL

Vincent Law in ☄️ effector
Да, есть момент, когда pending еще false, а компонент уже отрендерился.
источник

c⁣

createStore<🦉>... in ☄️ effector
вот поэтому я вообще логику из реакта не запускаю
источник

c⁣

createStore<🦉>... in ☄️ effector
можно

const loading = restore(fx.pending, true)
источник