charliemei


  • 首页

  • 标签

  • 分类

  • 归档

  • links

React用法解析

发表于 2018-09-11

dva是什么

dva是对 redux + react-router + redux-saga 等的一层封装,提供了一个models,常用的属性如下:namespace,state,effects,reducers,subscriptions。

models维护了一个全局的状态,models中可以通过namespace的属性对各个状态进行隔离,相当于划分了一个作用域,然后通过@connect可以将state注入到需要用到的组件中,组件可以通过自身的props访问到这个state,

如果需要改变state,就可以通过effects和reducers,前者是一个generator,用来处理异步逻辑,后者则是处理同步逻辑,在组件中可以通过使用dispatch函数去触发effects或reducers,dispatch函数会返回一个promise,因此我们可以在reducers或者effects中通过return将数据直接返回给dispatch,而subscriptions则是可以订阅路由的变化。

阅读全文 »

docker和git的使用

发表于 2018-09-02

docker是什么

docker是一种虚拟技术,和虚拟机差不多,但是没有虚拟机这么臃肿,因为虚拟机需要运行一个操作系统,需要宿主机更多的资源,而docker提供一个隔离的环境,它有一个守护进程,根据需要向宿主机申请资源。如果把宿主机比作一片大海,那么docker就是航行在海上的巨轮,而docker容器中的镜像则是巨轮上的货物,而docker则为这些货物提供了一个隔离外部环境的空间

阅读全文 »

JS的原型链和继承

发表于 2018-08-14

原型和原型链

原型prototype,在创建新函数的时候,会自动生成,而prototype中也会有一个constructor,回指创建该prototype的函数对象。

__proto__是对象或者实例中内置的[[prototype]],其指向的是产生该对象的对象的prototype,在浏览器中提供了__proto__让我们可以访问,通过__proto__的指向形成的一个链条,就称做原型链,原型链的整个链路是:实例对象- ->构造函数的prototype- ->Object的prototype- ->null。

我们在访问对象的属性或者方法的时候,首先从本对象寻找,如果本对象不存在该属性或者方法时,就会沿着原型链向上寻找,直至找到该属性或者方法,或者到null时停止。

这也解释了为什么数组对象上没有push,pop,shift,unshift等方法,却可以访问。

阅读全文 »

异步回调的解决方案

发表于 2018-08-06

发现问题

在实践过程中经常会遇到a,b,c,d…等函数,后者依赖于前者请求之后的结果,或者是d依赖于a,b,c…等函数这些情形,在第一种情况中会出现回调嵌套的情形

1
2
3
4
5
6
7
a(){
b(){
c(){
...
}
}
}

而第二种情况中,为了能更快获取到a,b,c…等的回调内容,会考虑进行并发请求,而这些又该如何解决呢?请继续往下看。

阅读全文 »

wepy浅析

发表于 2018-07-29

wepy是腾讯内部团队开源的一个类vue框架,相对于原生小程序,这个框架对开发流程有了更高的抽象,也降低了初学者的开发难度,可是对于vue开发者来说,开发体验也降低了。不过wepy解决了以下问题:

  • 无法引用npm包的问题
  • 如何进行编译
  • 更有效的组织代码,以及组件间的通信
  • request的并发限制,
  • 原生频繁使用setdata,会有性能问题
  • 如何划分作用域
  • 提供了slot
阅读全文 »
12

charliemei

15 日志
8 标签
友情链接
  • 卡拉搜索
© 2020 charliemei
由 Hexo 强力驱动
|
主题 — NexT.Muse v5.1.4