202109-09 详解JavaScript状态容器Redux 目录一、WhyRedux二、ReduxDataflow三、ThreePrinciples(三大原则)四、Redux源码解析4.1、index.js4.2、createStore.js4.3、combineReducers.js4.4、bindActionCreators.js4.5、compose.js4.6、applyMiddleware.js五、从零开始实现一个简单的Redux六、ReduxDevtools七、总结一、WhyRedux在说为什么用Redux之前,让我们先聊聊组件通信有哪些方式。常见的组件通信方式有以下几种:父子组件:props、state/callback回调... 继续阅读 >
202108-22 一文搞懂redux在react中的初步用法 Redux是一个数据状态管理插件,当使用React或是vue开发组件化的SPA程序时,组件之间共享信息是一个非常大的问题。例如,用户登陆之后客户端会存储用户信息(ID,头像等),而系统的很多组件都会用到这些信息,当使用这些信息的时候,每次都重新获取一遍,这样会非常的麻烦,因此每个系统都需要一个管理多组件使用的公共信息的功能,这就是redux的作用。如果你是从来没有接触过redux的开发者,希望您能够有耐心的看一看,我也是看好... 继续阅读 >
202104-07 如何使用Redux Toolkit简化Redux 了解ReduxToolkit,这是用于高效Redux开发的经过验证的工具集。在本文中,你将看到为什么ReduxToolkit值得React社区更多的关注。React和Redux被认为是大规模React应用中管理状态的最佳组合。然而,随着时间的推移,Redux的受欢迎程度下降,原因是:配置ReduxStore并不简单。我们需要几个软件包来使Redux与React一起工作。Redux需要太多样板代码。带着这些问题,Redux的创建者DanAbramov发表了名为《你可能不需要Redux... 继续阅读 >
202102-21 原生微信小程序开发中 redux 的使用详解 前提复杂场景中有不少数据需要在多个不同页面间来回使用和修改。但是小程序页面直接的数据通信方式十分的简单。通常情况需要自己维护一个全局的对象来存放共有数据。但是,简单的维护一个共有数据实体,会随着业务逻辑的不断复杂化而变的过分庞大,并且数据的修改往往无法很好的溯源。加之公共数据实体中数据的修改和页面的UI之间没有太好的同步手段,往往需要在页面和对应的数据实体中同时都维护一份相同的数据,操作十分的不方便... 继续阅读 >
202009-24 redux处理异步action解决方案 如果没有中间件,store.dispatch只能接收一个普通对象作为action。在处理异步action时,我们需要在异步回调或者promise函数then内,async函数await之后dispatch。dispatch({type:'before-load'})fetch('http://myapi.com/${userId}').then({response=>dispatch({type:'load',payload:response})})这样做确实可以解决问题,特别是在小型项目中,高效,可读性强。但缺点是需要在组件中写大量的异步逻辑代码,... 继续阅读 >