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

网站建设与网页设计从入门到精通/申请网站域名要多少钱

网站建设与网页设计从入门到精通,申请网站域名要多少钱,那个做兼职网站好,wordpress中文函数手册Pinia 中文文档 pinia原理 上次写vue项目的时候,问别人还在用vuex。别人说不用了,改pinia。于是了解了一下pinia。它是一种全局状态管理工具,vue2/3都适用,api比vuex更精简,使用更舒服。了解完就找资料摹写一个pinia。…

Pinia 中文文档
pinia原理

上次写vue项目的时候,问别人还在用vuex。别人说不用了,改pinia。于是了解了一下pinia。它是一种全局状态管理工具,vue2/3都适用,api比vuex更精简,使用更舒服。了解完就找资料摹写一个pinia。膜拜大神,链接贴上面了。现在说一下体会。主要按渐进式完善、注册、挂载、使用方式、逻辑理解、vue踩坑、对比react的useModel这几方面讲。

  • 上面的原理博客是渐进式写法逐渐完善的,降低了不少理解难度,配合边写边读很快就能撸一个出来,然后再做内容输出,做知识整理~。

  • 这种插件的注册方式是通过install安装,通过symbol判断是否安装。install里面做几件事,1挂在对象,2依赖注入,3挂原型链上。也因此,它这个对象有一些_a、_e、_s来分别保存当前实例、作用域、和所有store(不得不说考虑得就是完善)

  • 使用方式emmm和原来一模一样,就是createPinia一个pinia对象给vue use,然后调defineStore传个id和函数式写法或传统state-getters-actions写法定义一个store,然后页面执行这个store返回的函数就能拿返回值及函数来使用了。

  • 其原理的大概逻辑是这样:
    createPinia:用了一些专门写插件的api------effectScope, markRaw(我也不太懂这几个api)来构建个内部自动销毁型作用域,然后声明install方法,在vue.use(xxx)的时候vue会去调用这个install安装,install做几件事,1挂在对象,2依赖注入,3挂原型链上。
    defineStore:接收id,判断是函数式还是传统写法,然后返回个useStore函数。useStore里面通过symbol得到pinia实例,如果在_s里面有这个id,就返回它;没有就进行函数式注册或者传统注册。
    函数式注册:用reactive声明个响应式变量,用_e搞个作用域出来,执行传入的函数式获取到一个对象,然后遍历这个对象里面的方法改变this和参数指向到开头声明的变量上------action.apply(store, arguments),这样调用方法就能通过传参来改这个变量,最后合并变量和对象,返回它。
    传统注册:核心思想就是解析state, getters, actions这三个变量,然后一一支持它。取巧的是只是多了个自己定义的setup函数,在函数里面支持这三个变量。外面套的壳跟函数式支持一模一样哈哈哈哈。在setup里面,state的支持是先获取(兼容函数和对象两种传值方式),然后调用toRefs转成响应式,就支持了;gettter的支持是先遍历(它用reduce遍历对象的写法好简洁第一次见!),然后用computed计算一下里面依然还是要改变this指向到变量上,然后跟state合并一起返回就支持啦;action的支持是遍历为函数的属性然后改变this指向到变量上就好了,最后合并返回。

  • 我认为其中的关键点在于 它通过Object.assign绕过vue合并对象不响应的坑、通过symbol注册得到实例、函数返函数的形式、改变this指向、以及一些取巧之处。

  • 最后,对比react的useModel,pinia需要注册才能使用,这是因为antd pro框架帮我们封装了这个useModel,让我们开箱即用。同时两者开发思路不同,antd pro做这件事的原理大概是通过读文件操作,将特定目录特定开头的文件给实例化做成单例模式,并可以通过useModel获得实例,就算是全局数据了(猜测,不过js貌似不能主动读文件来着?)。

感谢阅读

http://www.jmfq.cn/news/4859083.html

相关文章:

  • 网站分类标准/东莞疫情最新消息
  • 西安网站设计与建设/网络营销推广的手段
  • 购物网站线下推广方案/单页面seo搜索引擎优化
  • 做外贸那个网站比较好/青岛seo杭州厂商
  • 电子政务与网站建设的经验/会计培训班多少钱
  • 阿里巴巴做网站费用计入/宁波seo网站推广
  • 滕州做网站的多少/互联网广告联盟
  • 哪个网站可以做片头/东莞市优速网络科技有限公司
  • 二级域名怎么做网站备案/阿里云建站
  • 石家庄小程序开发多少钱/seosem是指什么意思
  • php网站开发建设/国家大事新闻近三天
  • 高端品牌网站建设方案/提供seo顾问服务适合的对象是
  • dreamweaver学生用哪个版本/谷歌seo网站优化
  • 自己怎么网上注销公司/郑州seo外包顾问
  • https 网站架设/2021年10月新闻摘抄
  • 做搜狗网站排名软/站长工具最近查询
  • 宜昌网站seo收费/今天株洲最新消息
  • 学做网站教学百度网盘/上海关键词优化的技巧
  • mysql8 wordpress/东莞关键词优化软件
  • 怎么利用快站做网站/最新实时大数据
  • 做公司网站需要准备什么科目/网站seo优化课程
  • 可做宣传的网站都有哪些/怎么做一个网站平台
  • 地方网站 o2o/泉州seo托管
  • 潜江做网站/枫树seo
  • 如何自己制作网站/云南新闻最新消息今天
  • 宁波网站建设公司制作网站/做什么推广最赚钱
  • 建立网站基本知识/百度网站网址是多少
  • 最超值的郑州网站建设/永久免费二级域名申请
  • 网站建设研究的意义/google搜索引擎入口网址
  • 电子商务网站建设规划的内容/电商运营转行后悔了