redux-saga

    3热度

    2回答

    用户可以在他/她单击注销按钮时注销自己,但如果令牌已过期,他/她不能注销,因为在我的应用程序中,令牌在服务器端和前端都使用。当用户点击注销按钮时,如果令牌有效,则清除服务器和浏览器中的令牌。当用户没有注销并且他/她的令牌过期但没有在浏览器中被清除时有可能发生。为了解决这种情况,如何在每次用户访问我的应用程序时检查令牌过期情况,以便如果令牌已过期,请从浏览器中清除令牌? 我每次用户刷新页面或切换到另

    0热度

    1回答

    我为api调用使用了redux-api-中间件,而对于副作用使用了redux-sagas。对于特定的表单流,用户可以进行2个不同的更改,这需要由不同的apis处理。如果我们其中一个失败了,整个事件就会失败。我有一个处理失败的独立传奇。 在某些情况下,这会中断。当我们查看开发人员工具时,这个传奇似乎跑了两次,在再次运行这些步骤之前跳到最初的点。我已将此标记为评论。行动这就是触发传奇只运行一次(在终极

    0热度

    1回答

    我一直试图使用react-router的onEnter挂钩来检查身份验证。 基本上,我在Redux商店发送一个传奇动作来启动onEnter挂钩上的SSO登录。 但是,即使我成功重定向进行身份验证,这种情况发生在组件被挂载后,因此闪烁。 我试图在onEnter挂钩上调用callback之前检查身份验证状态,但这也不起作用。 我申请了钩为: <Route path='home' component={

    0热度

    1回答

    我想传递一个值“散列”,我已经存储在我的状态在组件文件中。我希望将状态值“散列”用作sagas文件作为url的参数。我怎样才能做到这一点。以下是mo代码文件。 传奇文件 import { call, put, takeLatest } from 'redux-saga/effects'; import { REQUEST_DATA } from './constants'; import {

    0热度

    1回答

    我真的很奇怪。由于某种原因,我的put在我的catch块中没有在下面执行。这里是我的传奇: function* postLoginFormSaga(action) { let response; try { // Data from emitting login action response = yield call(AuthenticationApi

    0热度

    1回答

    我有一个反应原生应用程序,我需要在应用程序中简单地保留所有原始动作。我的想法是,我得到一个简单的事件存储,我稍后可以汇总报告和统计信息。 一个要求是每个动作都被持续和一样,并且它们按照被调用的顺序持续。 我就用简单的情况下,使用actionChannel效果: import { actionChannel, call, take } from 'redux-saga/effects' expo

    0热度

    1回答

    我正在使用REDX传奇启动第三方服务,并且我想将错误从第三方的回调传播到传奇,以便我可以从传奇中派发适当的操作。我该怎么做? 在传奇: export function * handleFetchProducts() { try { const products= yield call(getProducts) yield put(actions.fetchProduc

    0热度

    1回答

    我目前正在用Jest对我的一个反应服务(使用redux-saga)进行单元测试。这些服务调用API,选择器和其他API以外的操作,选择器和特定于此服务的操作。 因此嘲笑这些外部API,选择和行动,我曾经开玩笑地嘲笑他们在我的测试文件是这样的: // API mock example jest.mock('../otherFeatureService/api'),() => { retu

    0热度

    1回答

    saga.js import { delay } from 'redux-saga' import { put, takeLatest, all } from 'redux-saga/effects' import axios from 'axios'; function fire(data) { return axios.post('http://localhost:3131/

    0热度

    1回答

    花了几个小时试图弄清楚如何在地图内并行运行传奇。 试过了我发现的东西:yield result.map(item => call(api.endpoint, item)) 但似乎没有发生。 下面是我在做什么:在for循环工作完成后 export function* syncCanvasesByFolder(<someParams>) { yield call(api.syncCanvas