ext store 数据修改_React Hooks 数据管理方案(Part1)

借鉴了Flux的思想,基于React Hooks,结合Ts做了一个数据管理方案的实现。他回答了以下几个问题。一、如何实现数据共享。使用context来完成数据单例的全局共享。React的哲学是,万物都是组件,所以对于状态管理来说,并不一定实现一个观察者,context自身就可以完成单项数据流的数据变化监听。因此在方案中我将所有的请求结果都放在context中,从而进行复用。context被业务st...
摘要由CSDN通过智能技术生成

借鉴了Flux的思想,基于React Hooks,结合Ts做了一个数据管理方案的实现。他回答了以下几个问题。

一、如何实现数据共享。

使用context来完成数据单例的全局共享。React的哲学是,万物都是组件,所以对于状态管理来说,并不一定实现一个观察者,context自身就可以完成单项数据流的数据变化监听。

因此在方案中我将所有的请求结果都放在context中,从而进行复用。context被业务store持有。

这里插入一句,React本身就是一个状态管理的利刃,其中的数据权限是非常细的:

1)const。不随时间改变的。

2)state。交互性的数据。

3)props。子父层次的共享数据关系。

4)context。全局性质的数据。

因此我们从来不应该将所有的东西扔在Store中。而是应该根据数据的访问权限来灵活分配scope。

二、如何复用请求行为和请求数据。(共享)

不仅所有的请求数据都在sotre中,所有的请求调用过程,也都在store中。我们使用actions来持有这些方法。而actions最终通过调用dispatch方案来实现数据更新。

任何需要触发请求的地方,通过actions来触发。他封装了整个数据的维护方法。

三、如何实现快速开发。

Redux结合React-Redux。因此有很多的规范、模板、定义。我的感受是我在新增请求的时候,总需要修改很多地方,不是很迅捷,很分散。我通过削弱了一部分的灵活性,获取了编写过程的专注度,我精简了所有的多余的模板文件,只保留了最核心的js文件,并且通过TS来进一步约束语意。TS配合函数式编

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值