在React开发中TypeScript下如何正确使用react-rematch?
发布网友
发布时间:5小时前
我来回答
共1个回答
热心网友
时间:33分钟前
rematch是对Redux的封装,简化了Redux的使用,大幅提升了开发体验。它不依赖Redux-saga,不绑定特定的视图库,适用于Vue等其他库。
一、rematch的优点
1. 省略Action Types:无需频繁编写字符串,通过model/method代替。
2. 省略Action Creators:直接调用方法,无需生产action type,使用dispatch.model.method进行调用。
3. 省略Switch语句:调用model.method方法,避免了判断action type的步骤。
4. 集中书写状态与方法:在一个model中,使用state、reducers和effects管理状态,同时支持同步和异步操作。
二、rematch的Model
在model中直接定义state、reducers、effects,实现集中管理,操作方便。
三、rematch的Dispatch
使用dispatch直接调用同步或异步方法,无需再发送action。
四、状态派发
依然使用Redux的connect、mapStateToProps、mapStateToDispatch进行状态与方法的派发至子组件。
五、使用示例:登录
为了展示登录功能,以简化的TS版本为例,不使用加密。
1. 创建和初始化数据仓库:新建models文件夹,包含login.ts、modles.ts、store.ts等文件。
在login.ts中定义登录相关方法。
在modles.ts中作为公共入口整合。
在store.ts中初始化仓库,可单独分离为store文件夹,便于管理。
2. 装载数据仓库:利用react-redux的Provider提供器共享store,实现全局数据管理。
3. 使用数据仓库:通过react-redux提供的hooks(useSelector、useDispatch)暴露仓库方法至组件,实现状态与功能的使用。