当前位置: 首页 > news >正文

汕头百度关键词推广广州推广seo

汕头百度关键词推广,广州推广seo,公司网站建设费属于什么费用,b2b网站案例我们现在主要是使用Mobx,但是Mobx的易于上手和灵活度也带来了很多预期以外的问题,随着项目的增长我们的代码技术债变得愈加沉重,不同的模块杂糅一起、单一store无限膨胀。 为此我们的调研是希望能找到一个更好的state配置、数据流的约定方案。…

我们现在主要是使用Mobx,但是Mobx的易于上手和灵活度也带来了很多预期以外的问题,随着项目的增长我们的代码技术债变得愈加沉重,不同的模块杂糅一起、单一store无限膨胀。
为此我们的调研是希望能找到一个更好的state配置、数据流的约定方案。
我们预期解决的问题:

  1. 更好地控制Mobx的复杂度,正确地拆分Store和管理内部的state。
  2. 虽然做不到单向数据流,但是数据流走向可追溯。
  • 是否能借鉴其他方案的分层管理、人为约定出一个更清晰的处理方案?
  1. 如何调试组件内Mobx的管理?
  • mobx dev tool。
  • mobx本身提供的spy API的能力。
  1. 特殊场景下的方案:
  • 能否做到compute 缓存之前的记忆,或者之前的数据和之后对比。
  • 主动订阅场景(已解决:通过mobx的reaction)

查阅的相关文章

浅谈React数据流管理
Mvvm 前端数据流框架精讲
前端数据流选型
React 体系下关于 Mobx 与 Redux 的一些思考

数据流管理方案的调研投票

目前来说主要有以下几个投票方案。

react-redux

现有比较火的是react-redux-toolkit,国内常用的umi+dva的方案也是redux的一个封装。

结论

在下面的redux vs mobx

Mobx

Mobx的文档
Mobx-长篇源码解读,一文搞懂原理
MobX State Tree数据组件化开发
浅析了一些源码处理,可作为入门读物:一次搞懂Mobx,项目再也不踩坑_(:3」∠)_

  • Mobx
  • Mobx-state-tree
  • Mobx+immer
结论

经过调研,Mobx-state-tree不就是mobx+immer嘛。然后immer的调研结论在下面,为了不让我们的改造变得更复杂,这些东西都可以以后考虑,因此就不扩展了。

Immer

(讲了使用方式和一些注意事项,但是没有源码解析,推荐阅读) Immer 最佳实践(走心教程)
重构利器:如何用 Immer 优雅地管理应用状态
为什么说 90% 的情况下,immer 完胜 immutable?
(一般)[ Immer 源码 ] 来聊聊 Immer 实现不可变数据结构
不可变数据流的完美解决方案——Immer 源码解读
(一个基础的todolist demo)不可变数据 - Immer.js 改造 reducer
在这里插入图片描述

结论

很好的东西,是为了解决副作用问题,但是我们项目应该用不太上,或者说不是必须的。可以先改重要的东西,不要太着急引入新技术栈,否则反而增加开发负担+增加改造的复杂度。

zustand

类似于轻量级的context+redux结合体。有中间件可以方便处理数据。
不过觉得有一个数据流管理就行啦,多了增加开发心智负担,因此不引入。

jotai

懒得看了。

Redux vs Mobx

经过组内讨论,Redux使用起来实在更复杂步骤更多,我们的项目已经很成熟了,转换过去一是浪费大量时间,二是Redux也不一定能解决我们项目现有的技术债问题。
因为我们的问题主要是历史原因,导致store无限膨胀、不同的模块杂糅。

而且相较而言,Mobx有如下优点:

  1. 作为响应式编程,渲染更快;
  2. 同一改动的代码量更少。
  3. 使用高阶hook自动进行浅比较优化性能。

综上,再加上我们原本就是用的mobx,就酱紫了。

Mobx使用约定

  1. 明确规定不同的模块在不同的mobx store中。
  2. 非必要不提升状态。页面业务级的数据应当考虑放在context中。明确我们的数据类型,暂时将数据类型分为两部分:1. 业务数据。2. UI状态数据。

mobx存放的是:

  • @action需处理和的公共业务数据。
  • 涉及多个组件的公共业务数据。
  • 控制页面的UI状态数据。

除此之外,下面数据将考虑放置在context / state中。

  • 涉及当前组件的UI状态数据。
  • 涉及当前组件及子组件的UI状态数据、非公共业务数据。
  1. 降低复杂度,数据可追溯:一个observable的变量对应一个action,参考redux的形式。

调试Mobx

使用mobx-devtool查看mobx内的数据如何流转,进行调试

  • 安装谷歌插件MobX Developer Tools,可以看到具体的数据变化和字段值。比较可视化。(还有不要下错了还有一个Pro的插件,我试了一点用没有)
  • mobx spy观察。
import { spy } from 'mobx';
spy(e=>console.log(e))
http://www.hkea.cn/news/453844/

相关文章:

  • 建手机网站的软件有哪些南宁百度seo价格
  • 做网站私活长沙网络营销公司
  • 网站建设公司 广告法被处罚沧州网络推广外包公司
  • 电商网站 开发成本惠州seo外包服务
  • 佛山做网站建设价格百度网盘官方下载
  • 网上购物商城网站建设个人免费域名注册网站
  • 成都学网站建设电子营销主要做什么
  • 织梦cms通用蓝白简介大气企业网站环保科技公司源码网络推广员招聘
  • 网站后台怎么添加图片视频app推广
  • 网站秒收录怎么做的经典软文案例和扶贫农产品软文
  • 珠海疫情最新情况厦门搜索引擎优化
  • 中国菲律宾历史战绩网站关键词优化工具
  • 西宁网站建设最好的公司哪家好优秀网站设计案例
  • 沧州做网站费用搜索引擎优化是做什么的
  • 社区网站推广方案线上运营的5个步骤
  • 湘潭学校网站建设 z磐石网络网站关键词优化教程
  • wordpress多程序用户同步汕头seo排名
  • 旅游网站 建设平台分析百度seo一本通
  • 怎么用dw做网站app开发网站
  • 昆山做网站的公司有哪些seo整站优化推广
  • 网站建设谈单情景对话青岛seo百科
  • 网站做自适应好不好网页分析报告案例
  • 大连手机自适应网站建设公司seo诊断站长
  • 有哪些好的网站十大电商代运营公司
  • 个人网页设计欣赏网站整站优化快速排名
  • 多少钱立案seo 公司
  • 医学类的网站做Google百度怎么优化排名
  • 手机网站怎样做枸橼酸西地那非片的功效与作用
  • 邯郸做wap网站的公司六六seo基础运营第三讲
  • 六安市建设银行网站seo编辑的工作内容