danielchistyakov
@danielchistyakov
Fullstack Developer

Как вызывать эффект с 2 и более зависимостями из стора Effector?

Недавно начал осваивать Effector и есть потребность фетчить дату при изменении одной из двух и более зависимостей. Я так понимаю на данный момент параметры в функцию getPosts у меня передаются костыльно. Хотелось бы услышать best practices без использования useEffect на фронте.

Сторы:
export const $id = createStore<number>(0)
  .on(setId, (_, id: number) => id);
export const $type = createStore<number>(1)
  .on(setType (_, type: number) => type);


Эвенты:
export const setId = createEvent<number>();
export const setType = createEvent<number>();


Эффект:
const getPosts = createEffect<IGetPostsPayload, IPosts[], Error>('get posts').use(() => getPosts({
  id: $id.stateRef.current,
  type: $type.stateRef.current,
}))


Форвард:
forward({
  from: [$id, $type],
  to: getUrls,
})
  • Вопрос задан
  • 68 просмотров
Решения вопроса 1
@SANTA2112
https://codesandbox.io/s/unruffled-mestorf-dvbsh?f...

если в компоненты, без useEffect, то можно так https://codesandbox.io/s/youthful-villani-70s40?fi...
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы