redux-saga相关内容

redux-logger 突然不显示动作名称,只显示“对象,对象"

我学习了 React 并尝试让 Redux 工作,所以我使用了 Redux-logger.当从 App.js 分派两个动作时,它作为顶部图像显示“ALBUME_DATA_LOADED". 然后我从另一个地方进行调度并得到这个输出: 我不确定我是否发送了那个“对象,对象"操作我放置了断点和控制台日志,奇怪的是反应记录器捕获了一个我认为不是我发送的操作.. 有什么想法吗? 这是 ..
发布时间:2021-07-05 20:36:45 其他开发

调度特定操作时如何取消传奇任务

我正在想办法解决我的问题,但我没有在网上找到足够好的解决方案. 当操作 LoginActionType.REQUEST_SEND 被调度时,我需要取消 checkAuth 和注销任务. function* handleLoginFetch(userCredentialsAction: PayloadAction) {尝试 {const 响应:AxiosResponse= yield cal ..
发布时间:2021-07-05 20:36:42 其他开发

如何测试我的 redux saga spawn 代码块

我想使用 jest 测试 spawn 块...我在 beforeEach 块中创建了一个生成器,我正在检查 generator.next() 函数,像这样 beforeEach(() => {生成器 = saga.postCompare();}); 我的代码是这样的 导出函数* LoadData() {让一些变量;尝试 {for (let index = 0; index 解决方案 ..
发布时间:2021-07-05 20:36:39 其他开发

使用 Typescript 在 Redux-Saga 中键入生成器函数

最近我开始重构我的 React 项目以开始在其中使用 Typescript.我遇到了打字问题,不知道如何解决. 技术栈:Typescript、React、Redux、Redux-Saga 我也在使用带有 AirBnB 规则集的 ESLint. 我正在尝试编写一个使用在我的授权服务中定义的异步函数的 saga.下面的代码是我第二次尝试写这个.我已经拆分了 signIn 传奇,以便不 ..
发布时间:2021-07-05 20:36:34 其他开发

无法使用 redux-saga 从服务器产生 json 响应

我正在尝试使用堆栈 react redux 和 redux-saga 并了解所需的最少管道. 我做了一个 github repo 来重现我得到的错误: https://github.com/kasra0/react-redux-saga-test.git 运行应用程序:npm run app url : http://localhost:3000/ 该应用程序由一个简单的组合 ..
发布时间:2021-07-05 20:36:30 其他开发

ReactJS 中的高阶组件 - 从数据组件扩展功能

对于这个愚蠢的问题,我很抱歉,我正在学习 React,所以我根本不是专家. 我想知道是否有一种方法可以使用某些功能扩展我的无状态组件,而无需始终围绕它们创建包装器,以便它们连接到 Redux 存储并通过 props 传递数据. 高阶组件是实现此目的的最佳方法吗? 让我用几行代码更好地解释.下面的示例组件应该在用户点击事件上调用 API/favourites (POST) 以创建“ ..

React store.getState 不是函数

这是我的代码: store.js import {createStore, applyMiddleware, compose} from 'redux';从“不可变"导入 {fromJS};从'react-router-redux'导入{routerMiddleware};从'redux-saga'导入createSagaMiddleware;从'./reducers'导入createRe ..
发布时间:2021-07-05 20:36:18 前端开发

启动rootSaga的惯用方式是什么?

redux-saga 项目已经存在很长时间了,但是关于这个库仍然有很多令人困惑的事情.其中之一是:如何启动您的 rootSaga.例如,在 初学者教程中,rootSaga 是通过 yeilding saga 数组启动的.像这样 导出默认函数* rootSaga() {屈服 [你好传奇(),watchIncrementAsync()]} 然而,在 使用 saga helpers 部分中,root ..
发布时间:2021-07-05 20:36:15 其他开发

redux saga,有条件地节流/去抖动?

我正在记录横幅在屏幕上可见时的展示次数. 当用户滚动时,同一横幅可以在短时间内多次显示. 我想防止这种情况发生. 乍一看,throttle 是防止它的完美方法. 但是当你在一个页面中有多个横幅时,throttle 不会在屏幕中记录第二个横幅如果被限制. 那么我怎样才能对每个键进行节流?(在本例中,横幅 id 作为键)即,我想根据banner_id 限制横幅展示次数.( ..
发布时间:2021-07-05 20:36:12 其他开发

redux-saga 中的 fork 和 spawn 有什么区别?

文档 说 fork 是一个 附加叉和spawn是一个分离叉 - 它们有什么不同? 解决方案 查看它的一种方法是将您的传奇视为图表.'fork' 从调用过程中创建一个子进程.而 'spawn' 在图的根部创建一个新的孩子. 因此,当您“分叉"另一个进程时,父进程将等待“分叉"进程完成.此外,每个异常都会从子级冒泡到父级,并且可以在父级中捕获. 一个“产生"的进程虽然不会阻塞父进程 ..
发布时间:2021-07-05 20:36:09 其他开发

'yield' 表达式只允许在生成器主体中使用

我正在使用 redux-saga 来获取服务器 API 数据.我的问题是我正在尝试设计以下代码. 然而,被注释掉的 yield put(get01Action(members)); 有以下语法错误. 'yield' 表达式只允许在生成器主体中使用. 我不知道如何管理它. import '@babel/polyfill';import { fork, take, put } from ' ..
发布时间:2021-07-05 20:32:41 其他开发

为什么我不能在 Redux-Saga 的 for..in 循环中使用嵌套的 yield

所以我有带有 ID 和值的 tasks 对象.使用 for in 循环,我想读取“成员"属性.如果它存在,并且数组的第一个元素 !=='all' 我想通过给定的 id 向 firebase 发出请求以读取文档.但是我不能使用yield,出现错误: 编译失败../src/containers/modules/Tasks/store/sagas/tasksSagas.js第 27 行:解析错误:意外 ..
发布时间:2021-07-05 20:30:42 前端开发

你如何使用 redux get 函数更新一些状态?值未在片场正确更新

我目前正在通过 redux getBalances 方法获取一些余额.当应用程序初始化时,它会将“余额"设置为信息的 JSON,但是当我再次调用 getBalances 时,它不会重新设置余额(不知道为什么). 所以现在,我正在尝试通过调用 getBalances 方法手动更新余额,然后将结果设置为余额,但是我遇到了障碍. 我想要做的只是再次 getBalances 并仅将其设置为 b ..
发布时间:2021-07-05 20:30:39 其他开发

如何让 takeLatest 考虑 url、params 和 method?

我正在使用 Saga 的 takeLatest 来中止除最新请求之外的所有请求.这工作正常,但现在我只想中止不具有相同网址、参数和方法的请求. 我知道 Saga 使用 type 属性来比较动作(就像 vanilla Redux 那样),但我还添加了 url、params 和 method 到我的操作中,因为我希望有某种方法可以做类似 yield takeLatestIf((action, ..
发布时间:2021-07-05 20:29:14 其他开发