Вызов действия для обновления локального хранилища (без вызова API) - избыточный персистентный, реагирующий нативный - PullRequest
0 голосов
/ 08 апреля 2020

Я пытаюсь отправить действие в Redux Sagas для добавления идентификатора в локальное хранилище:

import { call, takeEvery } from 'redux-saga/effects';

import { BENEFITS } from '../actions/types';


function* addBenefitIdToViewedList(action){
    const id = action.payload.isClaimable? 'c'+ action.payload.id : 's'+action.payload.id;
    console.log(id)
    console.log(action)

    console.log(yield call({type: BENEFITS.VIEWED_LIST.ADD, rootAction:action}));
  }

  export default function*() {
    yield takeEvery(BENEFITS.VIEWED_LIST.POST, addBenefitIdToViewedList);
  }

Я думаю, что проблема заключается в "вызове yield" - я должен использовать что-то другое ?

Когда я отлаживаю его, вызывается BENEFITS.VIEWED_LIST.POST, а идентификатор и действие печатаются соответственно. Однако BENEFITS.VIEWED_LIST.ADD не вызывается. Мне нужно позвонить, чтобы редуктор мог обновить магазин.

Есть идеи? Спасибо за помощь!

1 Ответ

0 голосов
/ 08 апреля 2020

Если вы хотите запланировать отправку действия в магазин, вам нужно использовать поставить как таковое: yield put(action) вместо вызова, который просто вызывает функцию.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...