首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏kyle的专栏

    redux-thunk

    一、redux-thunk介绍 redux-thunk用于处理异步action,同类型的有redux-saga 二、学习网址 https://github.com/reduxjs/redux-thunk github 三、安装与引入 npm install --save react-redux 安装 import thunk from 'redux-thunk'引入 三、如何使用redux-thunk import { createStore, applyMiddleware } from 'redux'; import thunk from 'redux-thunk'; import rootReducer /reducers'; // 创建store的时候,第二个参数是中间件,redux-thunk提供了一个thunk中间件,用于处理异步的action export default createStore ( rootReducer, applyMiddleware(thunk) ); //异步的action, 由于使用了redux-thunk的thunk中间件, //所以,在这个action里不用像同步

    72841发布于 2020-08-24
  • 来自专栏张宗伟 plus

    redux-thunk中间件

    redux-thunk是一种中间件,它能使你在action creator中返回函数,此返回函数就是thunk函数,模拟一下就是 // thunk函数 (dispatch,getState,extraCustomArgument redux-thunk的作用大致就是上面总结的,此文章也只是将官网readme给翻译一下(参考文章3)。 redux-thunk解决了什么问题 ---- 在基本的redux中,只能dispatch同步的action来更新state,那么对于dispatch异步的action来更新state呢? 就要使用中间件了,而redux-thunk就是这样一个中间件。 这一部分请直接参考redux-thunk官方文档。 可以看出,redux-thunk就是一个扩展功能的中间件,它的源代码实现非常少!之后估计也要学习一下,到时再写一篇文章。

    78040编辑于 2022-10-28
  • 来自专栏call_me_R

    理解 React 中的 Redux-Thunk

    通过 npm install redux-thunk --save 或者 yarn add redux-thunk 进行安装。 return { ...state, zip: MOR0O0 } 为了让事情简单,Redux-thunk 是一个中间件,使用户能够使用异步函数代替 API 调用。 Redux-thunk 允许一个 action creator 返回一个函数!现在,我们可以做任何异步工作。 Redux-Thunk 幕后怎么工作 关于 redux-thunk 的全部代码如下: function createThunkMiddleware(extraArgument) { return ( 参考文件 Understanding Redux-Thunk For React: The Big Picture

    1.4K20编辑于 2023-07-09
  • 来自专栏海怪的编程小屋

    造一个 redux-thunk 轮子

    redux-thunk 不就是那个只有 14 行代码的轮子嘛?我一行就能写出来还要你来教我做事? 不错,redux-thunk 是一个非常小的库,不到 5 分钟就能理解并造出来。 本文希望从解决问题的角度来推导 redux-thunk 诞生的原因。 解耦 上面的代码在很多业务里非常常见,常见到我们根本不需要什么 redux-thunk,redux-saga 来处理。 redux-thunk 到底解决了什么问题? redux-thunk 说白了也只是提供一种代码书写的 pattern,对提取公共代码是有帮助的。但是也不要滥用,过度使用 thunk,很容易导致过度设计。

    1K30编辑于 2022-03-29
  • 来自专栏bug收集

    redux-thunk 中间件的示例

    redux-thunk 简介 Redux处理异步任务——异步数据流中间件:redux-thunk & action是一个函数,函数内部处理异步任务 注意:默认情况下,redux自身只会处理同步数据流。 但是,如果涉及到异步操作,就应该使用 redux-thunk 这种的中间件,来处理异步数据流!!! 使用了redux-thunk中间件以后,我们需要修改action redux-thunk的使用 安装 ,引入 npm install redux-thunk // 下载两个中间件, redux-thunk 处理异步,redux-logger 日志模块 // npm i redux-thunk redux-logger 导入 import { createStore, applyMiddleware } from 'redux' import thunkMiddleware from 'redux-thunk' import { createLogger } from 'redux-logger' import

    81720编辑于 2022-07-22
  • 来自专栏IMWeb前端团队

    redux-thunk引发的redux middleware和store enhancer浅析

    本文作者:IMWeb EnjoyChan 原文出处:IMWeb社区 未经同意,禁止转载 项目中使用redux-thunk来解决异步请求的问题,但是为什么要引入redux-thunk来解决异步请求问题 ,不借助redux-thunk就无法解决吗? , 或者说redux-thunk可以解决什么场景问题;来看下面这个场景,我们上面那份代码可能被多次调用,根据传入参数来执行,于是我们封装一个函数: // 2 function encapsulateFunc 可以帮助我们代码更优雅,封装设计更合理,当然redux-thunk是在我们需要的时候才引入,如果我们的实际项目明明可以简单解决,就不需要引入redux-thunk了。 applyMiddleware } from 'redux'; import thunkMiddleware from 'redux-thunk'; import reducer from '.

    1.4K20发布于 2019-12-03
  • 来自专栏进击的大前端

    Redux异步解决方案之Redux-Thunk原理及源码解析

    本文会讲解Redux官方实现的异步解决方案----Redux-Thunk,我们还是会从基本的用法入手,再到原理解析,然后自己手写一个Redux-Thunk来替换它,也就是源码解析。 Redux-Thunk:提供Redux的异步解决方案,弥补Redux功能的不足。 在继续深入源码前,我们先来思考一个问题,为什么我们要用Redux-Thunk,不用它行不行? Redux-Thunk就是这么简单,虽然背后的思想比较复杂,但是代码真的只有14行! 本文手写代码已经上传GitHub,大家可以拿下来玩玩:github.com/dennis-jian… 参考资料 Redux-Thunk文档:github.com/reduxjs/red… Redux-Thunk

    4.1K51发布于 2020-10-15
  • 来自专栏趣谈前端

    深度剖析github上15.1k Star项目:redux-thunk

    日益忙碌的一周又过去了,是时候开始每周一次的总结复盘了,今天笔者就来剖析一下github中star数15.1k的开源项目redux-thunk。 接下来笔者将从: Redux的工作机制 中间件实现原理 redux-thunk源码实现 这三个方面来带大家彻底掌握redux-thunk源码,从而对redux有更深入的了解和应用。 这里我们并不能在action中处理异步逻辑,这也是redux-thunk的价值之一,即解决异步调用action。 到这一步我们仍然不能直接进入redux-thunk的源码分析,因为我们还是不清楚如何解决上述步骤,因为我们还没有了解redux的中间件机制。 在掌握了redux中间件实现原理之后, 我们再来看redux-thunk源码就非常容易理解了。

    97120发布于 2020-08-20
  • 来自专栏边城浪子周刊

    应用connected-react-router和redux-thunk打通react路由孤立

    history = createHistory.createBrowserHistory() export default history store.js import thunk from 'redux-thunk fetchPosts 代码如下: 操作结束后,再发出一个 Action,触发 State 更新为“操作结束”,View 再次重新渲染redux-thunk异步操作至少送出两个 Action,第一个 Action 但是有一个问题,store.dispatch正常情况下,只能发送对象,而我们要发送函数,为了让store.dispatch可以发送函数,我们使用中间件——redux-thunk。 引入 redux-thunk 很简单,只需要在创建 store 的时候使用applyMiddleware(thunk)引入即可。 /logOnly 如果不想在生产环境使用扩展,那就只开启redux-devtools-extension/developmentOnly就好点击文章查看更多细节 import thunk from "redux-thunk

    3K00发布于 2020-11-19
  • 来自专栏憧憬博客分享

    Redux-Thunk中间件

    redux比较常用的中间件有 redux-saga、redux-thunk、redux-promise等 都是为了解决dispatch action异步处理问题 redux中间件 对redux应用实现异步 redux-thunk 使用实例: 首先安装:yarn add redux-thunk store.js import { createStore, combineReducers, applyMiddleware } from 'redux'; import thunk from 'redux-thunk'; import {add, deleter} from '. dispatch(mapDispatchToProps.dispatchListAction(res)); }) } } }; redux-thunk

    1.6K20发布于 2020-07-21
  • 来自专栏WebJ2EE

    React:Redux怎么处理异步?

    (就是下面要提到的redux-thunk、redux-promise) ? redux-thunk:不到10行代码,精简到炸! action 是一个简单 JS 对象; redux-thunk: store.dispatch((dispatch, getState) => { ... }) 注:redux-thunk 允许我们 dispatch 一个 thunk函数; redux-thunk 中间件允许你 dispatch 一个函数(即:thunk),异步逻辑就放在这个函数中处理; 感受一波redux-thunk的精炼 ? redux-thunk应用示例 ?

    3K30发布于 2019-07-19
  • 来自专栏杨不易呀

    React-Redux-thunk

    在 Redux 中获取网络数据使用 redux-thunk 中间件redux-thunk 作用默认情况下 dispatch 只能接收一个对象, 使用 redux-thunk 可以让 dispatch 除了可以接收一个对象以外 使用 redux-thunk安装 redux-thunknpm install redux-thunk在创建 store 时应用 redux-thunk 中间件修改 store.js:import {createStore , applyMiddleware} from 'redux'import thunkMiddleware from 'redux-thunk'import reducer from '. 中间件, redux-thunk 中间件的作用,可以让 dispatch 方法可以接收一个函数, 可以让我们在通过 dispatch 派发任务的时候去执行我们传入的方法。 总结使用 redux-thunk 之前的流程 -------------------- ------> | Component 异步请求 | -----

    72520编辑于 2023-10-01
  • 来自专栏Rattenking

    【taro react】---- 【使用 redux 的配置笔记】

    安装中间件 安装redux用到的中间件: redux react-redux redux-thunk redux-logger $ yarn add redux react-redux redux-thunk redux-logger # 或者使用 npm $ npm install --save redux react-redux redux-thunk redux-logger 3. src/store/index.js import { createStore, applyMiddleware, compose } from 'redux'; import thunk from 'redux-thunk __REDUX_DEVTOOLS_EXTENSION_COMPOSE__({}) : compose; // 使用Redux-thunk中间件 const enhancer = composeEnhancers

    1.5K20编辑于 2022-01-06
  • 来自专栏云瓣

    redux middleware 源码分析

    import thunk from 'redux-thunk' import logger from '.. /middleware/logger' const enhancer = applyMiddleware(thunk, logger), // 以 redux-thunk、logger 中间件为例介绍中间件的使用 compose(...chain)(store.dispatch) 观察上述代码后发现每个 middleware 都会传入参数 middlewareAPI,来看下中间件 logger 的源码 以及 redux-thunk action => { console.log(action) return next(action) // 经 compose 源码分析,此处 next 为 Store.dispatch } // redux-thunk 拿上个小节提到的 logger、redux-thunk 中间件为例,其 middleware 的内部串行调用方式如下,从而完成了 dispatch 功能的增强(支持如 this.props.dispatch

    1.4K40发布于 2018-05-02
  • 来自专栏大前端(横向跨端 & 纵向全栈)

    第二十篇:从 Redux 中间件实现原理切入,理解“面向切面编程”

    这里我们以 redux-thunk 为例,从经典的“异步 Action”场景切入,一起看看中间件是如何帮我们解决问题的。 1.2.1.  支持异步数据流的 Redux 中间件有很多,其中最适合用来快速上手的应该就是 redux-thunk了。 redux-thunk 的引入和普通中间件无异,可以参考以下示例: // 引入 redux-thunk import thunkMiddleware from 'redux-thunk' import redux-thunk 的源码其实非常简洁,我第一次接触时还是在 2016 年,这么多年过去了,很多事情都变了,唯一不变的是 redux-thunk,它仍然那么好懂。 若 action 是一个函数,那么 redux-thunk 就会执行它并且返回执行结果;若 action 不是一个函数,那么它就不是 redux-thunk 的处理目标,直接调用 next,告诉 Redux

    82130编辑于 2023-07-31
  • 来自专栏git

    react-05

    : 对应用中状态进行集中式的管理(写/读) 开发: 与react-redux, redux-thunk等插件配合使用 # 2. redux相关API redux中包含: createStore 默认是对象(同步action), {type: 'xxx', data: value}, 需要通过对应的actionCreator产生, 它的值也可以是函数(异步action), 需要引入redux-thunk 使用redux及相关库编码 需要引入的库: redux react-redux redux-thunk redux-devtools-extension

    61130发布于 2019-07-19
  • 来自专栏前端知识分享

    React---Redux异步action

    (3).具体编码: 1).npm add redux-thunk,并配置在store中 2).创建action的函数不再返回一般对象 /count_reducer' 9 //引入redux-thunk,用于支持异步action 10 import thunk from 'redux-thunk' 11 //暴露store 12 export

    1.1K20发布于 2021-05-06
  • 来自专栏米虫的家

    前端模块化开发--React框架(四):高级应用(redux)

    : 对应用中状态进行集中式的管理(写/读) 开发: 与react-redux, redux-thunk等插件配合使用 二、redux相关API redux中包含: createStore(), applyMiddleware redux的中间件(插件库) 2)编码: javascript import {createStore, applyMiddleware} from 'redux' import thunk from 'redux-thunk 默认是对象(同步action), {type: 'xxx', data: value}, 需要通过对应的actionCreator产生, 它的值也可以是函数(异步action), 需要引入redux-thunk 五、 使用redux及相关库编码 需要引入的库: redux react-redux redux-thunk redux-devtools-extension(这个只在开发时需要 UI组件的标签属性 简洁语法可以直接指定为actions对象或包含多个action方法的对象 2、redux异步编程 下载redux插件(异步中间件) shell npm install --save redux-thunk

    1.6K20发布于 2020-09-24
  • 来自专栏全栈程序员必看

    react知识总结_六年级教学工作总结个人

    userList: defaultUserList }, applyMiddleware(logger)); logger 可以在发送 action 时打印状态的变化以及 action 的信息: redux-thunk import thunk from 'redux-thunk'; import { createLogger } from 'redux-logger'; const logger = createLogger 传递的参数只能是对象: addUserData: (user) => { return dispatch({ type: 'ADD_USER', payload: user }) } 使用 redux-thunk 这种异步思路就是使用 Action Creator 返回一个函数,然后使用 redux-thunk 让 dispatch 能够接受一个函数作为参数。 redux-promise import thunk from 'redux-thunk'; import { createLogger } from 'redux-logger'; import

    90620编辑于 2022-08-04
  • 来自专栏前端人人

    React第三方组件5(状态管理之Redux的使用⑤异步操作)

    Redux的使用⑥Redux DevTools)---2018.03.27 开发环境:Windows 8,node v8.9.1,npm 5.5.1,WebStorm 2017.2.2 这里我们需要用到 redux-thunk npm i -S redux-thunk 1、我们先复制一份redux4到redux5,并修改redux下Index.jsx ? 2、新建 store.js import {createStore, applyMiddleware} from 'redux'; import thunk from 'redux-thunk' import

    2K40发布于 2018-04-11
领券