调用操作以更新本地存储(不调用API)-Redux保持不变,对本机做出反应

时间:2020-04-08 11:29:48

标签: javascript reactjs react-native react-redux redux-saga

我正在尝试在redux sagas中调度一个操作,以向本地商店添加ID:

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);
  }

我认为问题是“收益率电话”-我应该使用其他方法吗?

当我调试它时,将调用BENEFITS.VIE​​WED_LIST.POST并相应地打印ID和操作。但是,不会调用BENEFITS.VIE​​WED_LIST.ADD。我需要打电话,以便减速机可以更新商店。

有什么想法吗?感谢您的帮助!

1 个答案:

答案 0 :(得分:0)

如果要安排将操作调度到商店,则需要使用put,例如:yield put(action)而不是仅调用函数的调用。