摘要: 引言:为什么数据流管理如此重要?react的核心思想就是:UI=render(data),data就是我们说的数据流,render是react提供的纯函数,所以用户界面的展示完全取决于数据层。这篇文章希望能用最浅显易懂的话,将react中的数据流管理,从自身到借助第三方库,将这些概念理清楚。我会列举 阅读全文
posted @ 2019-03-07 09:44 言先生 阅读(4514) 评论(1) 推荐(2) 编辑
  2020年9月2日
摘要: Nodejs其它知识点 一,Nodejs架构 Nodejs是一个构建在V8引擎(C++编写的)上的JavaScript运行环境。 Nodejs底层框架由三部分组成: 1,Nodejs标准库 这部分是JavaScript编写的,也是我们在使用过程中能调用的API,在源码中lib目录下可以看到。 2,N 阅读全文
posted @ 2020-09-02 17:27 言先生 阅读(135) 评论(0) 推荐(0) 编辑
摘要: React其它相关知识点 一,解释一下React Fiber? 简单来说,核心就是在虚拟dom和浏览器的调用栈之间多了一个虚拟调用栈,和虚拟dom一样,这个虚拟调用栈也是在内存中的,这个虚拟调用栈就类似于一个任务调度器,它可以暂停一个任务,也可以重启一个任务,也可以终止一个任务,还能给任务分配优先级 阅读全文
posted @ 2020-09-02 14:22 言先生 阅读(140) 评论(0) 推荐(0) 编辑
摘要: React-Native相关 一,为什么要使用React-native? Hybrird的首屏时间太慢,白屏太久,影响用户体验; 原生native开发成本较高; 这里补充一点Webview的性能优化: Hybrid最大的问题就是首次打开白屏时间较长,原因是Webview初始化时耗时较长,等到初始化完 阅读全文
posted @ 2020-09-02 14:21 言先生 阅读(259) 评论(0) 推荐(0) 编辑
摘要: 关于React状态管理的一些想法 我最开始使用React的时候,那个时候版本还比较低(16版本以前),所以状态管理都是靠React自身API去进行管理,但当时最大的问题就是跨组件通信以及状态同步和状态共享的问题,因为React是自上而下的数据流处理方式,仅仅通过提取到公共父组件内的方式还是比较麻烦, 阅读全文
posted @ 2020-09-02 14:20 言先生 阅读(318) 评论(0) 推荐(0) 编辑
摘要: 关于我在React设计模式上做的一些思考: 一,项目里实战的经历 最开始我根据组件不同的职能定义,拆分了展示组件和容器组件两大类,后来随着业务逻辑越来越复杂,容器组件代码越来越冗长,我又加入了HOC高阶组件的设计模式,将部分共享的通用功能逻辑抽出,来加强容器组件的可维护性和可扩展性;但是后来发现在多 阅读全文
posted @ 2020-09-02 14:16 言先生 阅读(452) 评论(0) 推荐(1) 编辑
摘要: 如何进行Nodejs性能分析? nodejs性能最重要的两个部分:CPU耗时查看和内存泄漏排查 一,CPU相关 主要思路是两个:借助第三方的工具,以及借助v8自带的性能分析工具 借助第三方的工具 主要思路是:先生成cpuprofile,然后借助第三方工具生成可视化的图或者是文件。 1,如何生成cpu 阅读全文
posted @ 2020-09-02 14:15 言先生 阅读(159) 评论(0) 推荐(0) 编辑
摘要: Event loop事件循环,是一个执行模型。不同的浏览器以及Nodejs里的具体实现是不一样的。 一,浏览器端: HTML5规范里有明确定义,简单的说: 1,JS是单线程的,执行的时候在一条主栈上; 2,当遇到异步代码时,会区分它是宏任务还是微任务; 3,比如setTimeout和setInter 阅读全文
posted @ 2020-09-02 14:10 言先生 阅读(185) 评论(0) 推荐(0) 编辑
  2020年8月1日
摘要: 看到一些不错的this面试题,总结下来: 当一个函数被调用时,会创建一个活动记录(有时候称为执行上下文),这个记录包含函数在哪里被调用(调用栈)、函数的调用方式以及传入的参数等信息,this就是这个记录的一个属性,会在函数执行的过程中用到。 this既不指向函数自身也不指向函数作用域,它是在函数被调 阅读全文
posted @ 2020-08-01 22:38 言先生 阅读(352) 评论(0) 推荐(0) 编辑
  2020年7月23日
摘要: 本篇是根据最新babel 7版本写的,里面用到的一些babel相关包都是babel 7的 1,babel是如何工作的 babel是一个转译器,这里我严格区分了转译器和编译器,因为编译器最终生成的是机器指令,已经和最初的代码完全不一样了,而转译器只是将高级别的语言转化为低级别的语言,能更好的兼容,所以 阅读全文
posted @ 2020-07-23 22:40 言先生 阅读(299) 评论(0) 推荐(0) 编辑
  2020年5月27日
摘要: 前言:这篇随笔是为了准备后面的面试而整理的,网上各种面试题太多了,但是我感觉很多太偏了,而且实际开发过程中并不会遇到,因此这里我整理一些比较常用的,或者是相对比较重要的知识点,每个知识点都会由浅入深,把相关的都放在一起,便于自己复习,感兴趣的朋友也可以一起学习收藏。 (题目的顺序不重要,比较随意,但 阅读全文
posted @ 2020-05-27 23:58 言先生 阅读(1651) 评论(0) 推荐(0) 编辑