【问题标题】:Redux Saga - Take Every is never CalledRedux Saga - Take Every 永远不会被调用
【发布时间】:2023-09-28 21:20:01
【问题描述】:

我有这个简单的传奇:

export function* priceComparisonSaga() { yield takeEvery(RECORD_PRICE, priceComparison); }

但是每当我发送事件时,它都不会被调用。怎么回事?

【问题讨论】:

    标签: redux yield redux-saga


    【解决方案1】:

    原来有问题的动作有一个额外的“类型”属性。

    当使用快捷方式创建这样的动作时,

    export const addBalance = makeActionCreator(ADD_BALANCE,"balance","type");

    此操作无效,因为第二种类型的属性会覆盖“ADD_BALANCE”。相反,这是可行的:

    export const addBalance = makeActionCreator(ADD_BALANCE,"balance","balancetype");

    【讨论】:

    • 这是使用 Flux 标准操作约定将所有附加数据放入 payload 字段中的一个很好的理由。