Size: a a a

2021 June 13

c⁣

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

c⁣

createStore<🦉>... in ☄️ effector
Убери string у data
Увидишь в подсказке что там объект { params, result }
источник

VK

Vladislav K. in ☄️ effector
Попробуй donedata
источник

АХ

Александр Хороших... in ☄️ effector
done триггерится с объектом вида { params //параметры, с которыми был вызван эффект, result // то, что эффект вернул }

Если тебе нужен только результат - бери effect.doneData, этот эвент отдает только результат, без параметров
источник

A

Arthur in ☄️ effector
оооо, все, понял, благодарю всех, прояснилось хоть что-то в голове, работает
источник

АХ

Александр Хороших... in ☄️ effector
🤟
источник

DS

Dmitriy Shuleshov in ☄️ effector
"В Голливуде широко известна фраза: «Не звоните нам, мы сами вам по-звоним», которая произносится, когда на одну и ту же роль пробуется множество претендентов. Группа подбора актеров просто не смогла бы
работать, если бы постоянно отвечала на звонки претендентов. В асинхронном программировании на Java Script наблюдается похожая ситуация. Только вместо номера телефона оставляется функция обратного
вызова, которая будет вызвана в нужное время."

JavaScript Шаблоны - Стоян Стефанов
источник

G

GG in ☄️ effector
куки хуюки. это нормально? или как сделать лучше
источник
2021 June 14

c⁣

createStore<🦉>... in ☄️ effector
попробуй effector-storage
источник

yv

yumaa verdin in ☄️ effector
адаптер только написать надо, из коробки нет (в ридми вроде был пример как раз с куками)
источник

FB

Furrya Black in ☄️ effector
@beecoder
А почему именно кукисы? Чому не локал стор? 🤔
источник

c⁣

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

DS

Dmitriy Shuleshov in ☄️ effector
- нужны биндинги эффектора к dom
- возьми  effector-storage
- адаптер тока нада написать🌚😅
источник

yv

yumaa verdin in ☄️ effector
что-то я ошибся, в ридми нет, но адаптер тривиальный
источник

yv

yumaa verdin in ☄️ effector
а потом написать storest, вместо forest :D
источник

DS

Dmitriy Shuleshov in ☄️ effector
источник

К

Кирилл in ☄️ effector
а это ок если у меня будет много одинаковых гейтов?
источник

DS

Dmitriy Shuleshov in ☄️ effector
покажи, что значит одинаковых?
источник

К

Кирилл in ☄️ effector
Если упрощая, то что-то типа такого. Чтобы я в любом месте мог использовать данные и чтобы не надо было где-то наверху отдельно вызывать гейт


const useData = () => {
 const data = useStore($data);
 const isLoading = useStore(loadDataFx.pending);
 useGate(DataGate): // triggers loading if not loaded yet

 return {data, isLoading}
}
источник

DS

Dmitriy Shuleshov in ☄️ effector
Если у на самом деле много вот таких повторяющихся кусков, то можно заюзать что то типа реакт квери (шутка с долей правды, но я все же думаю проекты где подход с кешированием api запросов зайдет на ура существуют, просто я их не видел)) )

То можно создать фабрику которая будет сразу создавать структуру юнитов (если она на самом деле часто повторяется в проекте) и подружить ее с вышеприведенным кастомным хуков

const createStructure = ({fxCallback, defaultState}) => {
const fx = createEffect(fxCallback)
const store = restore(fx, defaultState)
const gate = createGate()
guard({
 clock: gate.open,
 source: store,
 filter: currentStoreState !== defaultState, // или же дугое более подходящее условие сравнения
 target: fx
})
return {store, fx, gate}
}

const useStructure = ({store, fx, gate}) => {
 const data = useStore(store);
 const isLoading = useStore(fx.pending);
 useGate(gate)

 return {data, isLoading}
}

Использование
const userNameStructure = createStructure({fxCallback: () => api.getUserName(), defaultState: ''})

const User = () => {
const {data, isLoading} = useStructure(userNameStructure)
}
источник