
获得徽章 0
- React前端状态管理心得
1. 没有银弹,redux也好,mobx也好,react-easy-state也好,能力加强的同时,学习成本,浏览器兼容成本也加大
2. 绝大大数页面的状态理清后,其实也想象中不那么复杂,首要的应该是注意以下几点:
(1)尽可能减少所需的状态(哪些才是真正需要的),很多数据了包含多维度的状态,不要制造状态(混乱),真正重要的是数据,而非状态。深入理解,吃透你的数据。
(2)哪些是计算属性,计算属性(仅get,非set)尤其要提出来,不应该set的一定不要set的,逻辑上可能是同样的状态,但搞好两个状态,并同时去set,会导致真实世界混乱。
3. 组件拆分、属性的传递的逻辑性、正确性和清晰性也是状态管理的一部分,而且其重要性丝毫不亚于纯数据的状态。
(1)正确决定组件的从属关系,并尽量减少不必要的组件。(如同节约dom标签一样)
(2)在上面的前提下,属性的传递可以尽量控制在不要超过2层,这样props的数据流向也一目了解
(3)在jsx里,属性传递的写法应采取始终解构的写法,这样最接近函数参数传递的感觉,如:
<BtnGroup$ {...{ pageTitle, survey }} />
const BtnGroup$ = ({ pageTitle, survey }) => {})
(4)计算属性应尽量由上级组件传给下级,从而使尽可能多的组件成为仅接受props并渲染的纯函数组件。
(5)函数属性传递时有意义的命名至关重要。
4. 勿过度追求完美,尤其是在UI与交互上(最难处理的是动画),要做到完美,需要极其复杂的状态管理,应先有一些效果,在保证不至于把状态搞得一团糟,在完全想清楚了数据的逻辑后,逐步加强。
5. react-global-state-hook的非reducer的用法,细粒度的get、set其实基本够用,尤其对状态变化的跟踪(从代码层面跟踪,选中所有get或set)比redux并不差。
6. 一个应用程序,最最核心的,最最复杂的逻辑,就那么几个,绝不会多,所以对这部分页面代码一定要精益求精,逻辑、结构一定要优雅如水。展开316 - 今日看点
✦ 瑞幸咖啡发布道歉声明:涉事高管及员工已停职
✦ 京东:网传通过bug抢茅台是假消息,超160万人采购
✦ 华为云启动全球抗疫行动,参与者最高将获30000美元免费云资源
✦ 三星即将发布今年首次财报:手机销量下降成定局
✦ 比尔·盖茨计划投资数十亿美元建厂,研发7种新冠病毒疫苗
✦ 今日分享研报:艾瑞咨询发布《2020年中国素质教育行业白皮书》
国内要闻
1、京东:网传通过bug抢茅台是假消息,超160万人采购
2、瑞幸咖啡发布道歉声明:涉事高管及员工已停职,不回避就此事带来的一切问题
3、瑞幸董事长陆正耀回应22亿元财务造假:个人非常自责,会承担应有的责任
4、罗永浩回应带货不是“全网最低”:个别平台为蹭流量故意做低价格
5、华为云启动全球抗疫行动,参与者最高将获30000美元免费云资源
6、海尔入股易冲科技,进军无线充电领域
7、国家电网:特高压建设全面恢复,投资规模达1811亿元
8、最后一颗北斗三号组网卫星运抵发射场,计划于5月份发射
9、“三桶油”旗下21家公司纳入国家管网公司,含西气东输、川气东送等线路
10、239家公司公布一季业绩预告,104家公司业绩预增占比43.51%
区块链
1、北京上线基于区块链的供应链债权债务确权融资平台
2、雄安发布两项项目招标公告,项目均需通过区块链资金管理平台进行资金管理
3、航天科工董事长:航天科工主要从新算法等方面参与区块链等技术和产品研制
4、科技部将进一步加大前沿技术研发等支持力度,重点包括区块链等技术
5、35家外资公司在华申请区块链专利,微软、甲骨文、沃尔玛在列
国际视角
1、比尔·盖茨计划投资数十亿美元建厂,研发7种新冠病毒疫苗
2、三星即将发布今年首份财报:手机销量下降成定局
3、华尔街再次集中下调苹果目标股价:iPhone销量会下滑
4、美国成立专门委员会对外国参与美国通信行业进行审查
5、谷歌与英研究人员合作,利用手机位置数据研究疫情传播
6、美学校因安全和隐私问题禁止使用Zoom会议软件
7、NASA公布建立月球永久基地计划细节,三大要素最关键
8、联合国儿童基金会在快手讲育儿经,五招教你培养高情商宝宝
9、意大利拟扩大黄金权力法范围,防治外资恶意收购关键企业
10、日本交通等行业设立信息共享组织,防止网络攻击展开11