首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

React:Redux怎么处理异步?

至此,我们可以看出 Reducer 必须是同步函数 不能放置异步逻辑 (注:Redux要求Reducer必须是“纯函数”!) ---- 那么,问题来了... Redux应该在哪处理异步逻辑? ?...异步逻辑应放置在 Redux中间件中处理 !! Middleware !! (就是下面要提到的redux-thunk、redux-promise) ?...总结: redux-thunk 允许我们 dispatch 一个包含异步处理逻辑函数(thunk);优点是我们可以借助这种简单的机制在 redux 中处理异步逻辑;缺点是这会让 action 变的不纯粹...异步业务逻辑被集中在 Saga 中管理; c. 没有修改 action 原本的含义; d....结合 Generator、Promise 特性,用同步的方式书写异步代码; 扫码查看示例源码 精选文章推荐 React:几个入门小Demo React:Redux源码分析

2.7K30
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    React-Redux 源码解析系列 -- React-Redux的作用

    本文作者:IMWeb 黄qiong 原文出处:IMWeb社区 未经同意,禁止转载 前面的章节讲完了redux的部分,又已经有了react,那为什么还需要有React-Redux呢?...这个React-Redux 又帮助我们做了什么呢? context 跟 store 先来想一个问题,如果光使用react,有时候会遇到一个组件的状态要在另一个组件中用到,这时候就需要把这个状态提升。...方法 所以我们需要redux这个专业的状态管理框架来帮忙,而redux的核心就是发明了store,通过dispatch一个action 来改变store里的值,如果用redux来管理我们的状态,就可以解决上述问题...这时候react-redux就闪闪出现了,它的作用就是连接react跟redux。...讲到这里,就可以回答开篇的问题了~ 其实React-Redux 提供了两个接口,provider跟connect provider是帮助我们把store设置为childContext的 connect

    77110

    Redux,基础 Redux是什么?React-reduxRedux存在的问题(解决的方案)?Redux的最佳实践?Redux的实现浅析?

    在学习了React之后, 紧跟着而来的就是Redux了~ 在系统性的学习一个东西的时候, 了解其背景、设计以及解决了什么问题都是非常必要的。...(这不能忍,状态如果无法预测以及控制) 那么Redux就是试图让 state 的变化变得可预测。这些限制条件反映在 Redux 的三大原则中。...:     ----定制 connector 的行为 Redux存在的问题(解决的方案)?...与其说缺点,不如说是Redux的优势而造成的不可避免的劣势,问题应该辩证地看~ 纯净。Redux只支持同步,让状态可预测,方便测试。...但不处理异步、副作用的情况,而把这个丢给了其他中间件,诸如redux-thunk\redux-promise\redux-saga等等,选择多也容易造成混乱~ 啰嗦。

    1.5K10

    React-Redux 源码解析系列 -- React-Redux的作用

    前面的章节讲完了redux的部分,又已经有了react,那为什么还需要有React-Redux呢?这个React-Redux 又帮助我们做了什么呢?...context 跟 store 先来想一个问题,如果光使用react,有时候会遇到一个组件的状态要在另一个组件中用到,这时候就需要把这个状态提升。...方法 所以我们需要redux这个专业的状态管理框架来帮忙,而redux的核心就是发明了store,通过dispatch一个action 来改变store里的值,如果用redux来管理我们的状态,就可以解决上述问题...这时候react-redux就闪闪出现了,它的作用就是连接react跟redux。...讲到这里,就可以回答开篇的问题了~ 其实React-Redux 提供了两个接口,provider跟connect provider是帮助我们把store设置为childContext的 connect

    988100

    React redux的基本配置

    要在 React 应用程序中配置 React Redux,需要进行以下基本步骤: 1:安装依赖: 首先,确保项目中已经安装了 React 和 Redux。...可以使用包管理工具(如 npm 或 Yarn)来安装它们: npm install react redux 2:创建 Redux Store: 在应用程序中创建 Redux store,将用于存储应用程序的状态...使用 React Redux 的 Provider 组件将 Redux store 提供给整个应用程序。...在需要访问 Redux 状态的组件中,使用 connect 函数包装组件,并定义 mapStateToProps 和 mapDispatchToProps 函数来指定所需的状态和操作。...这样,就完成了 React Redux 的基本配置。现在可以在应用程序中使用 React Redux 来管理状态,并通过连接到 Redux store 的组件来获取和更新状态。

    25030

    Redux 入门教程(三):React-Redux 的用法

    前两篇教程介绍了 Redux 的基本用法和异步操作,今天是最后一部分,介绍如何在 React 项目中使用 Redux。...为了方便使用,Redux 的作者封装了一个 React 专用的库 React-Redux,本文主要介绍它。 这个库是可以选用的。...实际项目中,你应该权衡一下,是直接使用 Redux,还是使用 React-Redux。后者虽然提供了便利,但是需要掌握额外的 API,并且要遵守它的组件拆分规范。 ?...前者负责与外部的通信,将数据传给后者,由后者渲染出视图。 React-Redux 规定,所有的 UI 组件都由用户提供,容器组件则是由 React-Redux 自动生成。...import { connect } from 'react-redux' const VisibleTodoList = connect()(TodoList); 上面代码中,TodoList是 UI

    1.7K50

    为什么 Vuex 的 mutation 和 Redux 的 reducer 中不能做异步操作?

    (() => { state.count++ }) } } 现在想象,我们正在 debug 一个 app 并且观察 devtool 中的 mutation 日志。...然而,在上面的例子中 mutation 中的异步函数中的回调让这不可能完成:因为当 mutation 触发的时候,回调函数还没有被调用,devtools 不知道什么时候回调函数实际上被调用——实质上任何在回调函数中进行的状态的改变都是不可追踪的...Redux 先从Redux的设计层面来解释为什么Reducer必须是纯函数 如果你经常用React+Redux开发,那么就应该了解Redux的设计初衷。...Redux的设计参考了Flux的模式,作者希望以此来实现时间旅行,保存应用的历史状态,实现应用状态的可预测。...所以整个Redux都是函数式编程的范式,要求reducer是纯函数也是自然而然的事情,使用纯函数才能保证相同的输入得到相同的输入,保证状态的可预测。

    2.8K30

    React 和 Redux 的动态导入

    /my-module') return React.createElement(default.view) }) 然而,我们仍然没有使用 React 中的方法来延迟加载模块。...通过使用 React 来处理每个模块的加载,我们可以在应用程序的任何时间延迟加载组件,这包括嵌套模块。 使用 Redux 到目前为止,我们已经演示了如何动态加载应用程序的模块。...然而,我们仍然需要在加载时将正确的数据输入到我们的模块中。 让我们来看看如何将 redux 存储连接到模块。 我们已经通过公开每个模块的视图组件为每个模块创建了一个 API。...我们将两种新方法添加到我们的 store 中。 然后,这些方法中的每一种都完全取代了我们 store 中的 reducer。...当 react-redux 组件将 store 添加到上下文中时,只需要使用 contextTypes 在LazyLoadModule 中获取它。

    2.2K00

    React 如何使用Redux的说明

    React的主要特点包括: 虚拟DOM:React使用虚拟DOM来提高性能。它会将UI的状态保存在内存中,并在需要时更新实际DOM。 组件化:React使用组件化的思想来构建UI。...所有的状态都保存在一个对象中,并且可以通过getState方法来获取。 纯函数:Redux使用纯函数来更新状态。纯函数不会修改传入的参数,而是返回一个新的状态对象。...派发操作:Redux使用派发操作来更新状态。派发操作是一个简单的对象,它包含一个类型属性和一些可选的数据。...React和Redux的结合使用 React和Redux可以很好地结合使用,以构建复杂的Web应用程序。下面是一些步骤: 安装React和Redux:首先,需要安装React和Redux。...两者结合使用时,可以使用React-Redux库将组件和状态连接起来,并通过props传递状态和操作。

    12110

    React进阶(6)-react-redux的使用

    前言 撰文:川川 您将在本文当中学习到 react-redux是什么,解决什么问题 UI组件以及容器组件 react-redux中两个重要的API,Provider以及connect mapStateToProps...,在React中更方便的使用Redux 关系: 它不是必须的,在实际项目中,可选用.是使用Redux还是使用react-redux,取决于你自己,项目组成员的熟悉程度,适合自己的才是最好的,使用后者提供了一些便利...npm install --save react-redux 或 yarn add react-redux 安装完成后,可以在根目录的package.json中查看是否有的 对于理解 react-redux...: boolean, } 结语 本文主要学习了如何使用 react-redux,使用 react-redux只是为了简化Redux的,不使用react-redux也没有问题,只是使用react-redux...,但发现依旧还有一座山在等着你 什么解决异步问题react-thunk,react-saga等中间件,middleWare,路由react-router等 当然最新版本的React中已经有了React

    2K10

    React进阶(6)-react-redux的使用

    image.png 前言 您将在本文当中学习到 react-redux是什么,解决什么问题 UI组件以及容器组件 react-redux中两个重要的API,Provider以及connect mapStateToProps...,在React中更方便的使用Redux 关系: 它不是必须的,在实际项目中,可选用.是使用Redux还是使用react-redux,取决于你自己,项目组成员的熟悉程度,适合自己的才是最好的,使用后者提供了一些便利...的方式下载 npm install --save react-redux或yarn add react-redux 安装完成后,可以在根目录的package.json中查看是否有的 对于理解 react-redux...: boolean,} 结语 本文主要学习了如何使用 react-redux,使用 react-redux只是为了简化Redux的,不使用react-redux也没有问题,只是使用react-redux...,但发现依旧还有一座山在等着你 什么解决异步问题react-thunk,react-saga等中间件,middleWare,路由react-router等 当然最新版本的React中已经有了React

    2.2K00
    领券