首页 > TAG信息列表 > redux-saga

了解异步JavaScript

以下代码段之间有什么区别: 代码1: export default async function syncData() { await Promise.all([syncData1(), syncData2()]); } // called in sagas.js function* x() { const res = yield call(syncData); } 代码2: export default function syncData() { return Pro

javascript-React钩子:从useEffect调度动作

我的文件夹结构: |--App |--Components |--PageA.js |--PageB.js |--PageC.js |--common-effects |--useFetching.js 我正在使用React hooks重构代码以从API提取数据. 我想调度由saga中间件截获的useFetching.js中的useEffect操作.仅当安装了组件(PageA,PageB

javascript-使用带延误的runSaga测试

如果我有这样的传奇故事: function * sagaWorker() { yield put(START_ACTION) yield take(WAIT_FOR_ACTION) yield delay(100) yield put(END_ACTION) } 我可以像这样使用runSaga成功测试它: step('saga passes the tests', async () => { const channel = stdChannel(

javascript – 使用带ES6发生器的redux-saga与使用ES2017 async / await的redux-thunk的优点/缺点

现在有很多关于redux镇最新小孩的讨论,redux-saga/redux-saga.它使用生成器功能来收听/调度动作. 在我绕过它之前,我想知道使用redux-saga而不是下面的方法的优点/缺点,我在使用带有async / await的redux-thunk. 组件可能看起来像这样,像往常一样调度动作. import { login } from

javascript – Redux-Saga的Firebase身份验证无效

我正在尝试使用firebase auth创建一个新用户.我正在使用redux-saga进行上述调用. 下面是我的saga.js: import { takeLatest, put } from 'redux-saga/effects'; import { SIGN_UP, AUTHENTICATION_FAILED, SIGN_UP_SUCCESS} from '../actions/index'; import firebase from 'fireb

javascript – Redux saga没有调用API

我正在尝试使用redux-saga来调用我的API并将其传递给参数.我正在使用redux-logger和console.log()进行调试.但似乎我的传奇因为某些原因没有调用API. 这是状态的控制台日志……因为你可以看到apiMsg没有改变,但我对每个动作都有所改变. 我认为我在动作,减速器或组件中的某个地方出

javascript – Redux-Saga无法正确读取来自fetch api的响应

嗨如何读取从提取调用返回的数据: export function* fetchMessages(channel) { yield put(requestMessages()) const channel_name = channel.payload try { const response = yield call(fetch,'/api/messages/'+channel_name) const re

javascript – Redux saga使用该类的其他实例的参数

我有四个不同的API类实例,其中三个具有相同的参数,另一个具有不同的参数.但是,具有不同参数的类似乎使用其他三个实例的参数进行实例化.为什么会这样? 我有许多生成器函数(使用redux-saga),其中我作为参数传递一个带有id和访问令牌的API类的新实例. 以下是三个类似生成器之一的示例: