【知乎】尤雨溪知乎live感悟与总结

1.如何学习vue源码:
http://hcysun.me/2017/03/03/Vue源码学习/

2.组件:
主流框架以组件做为最基本的单元。
前端思维:页面->应用->组件
react贡献:组件可以是一个函数,有一些props进来,可以返回一个抽象的数据结构,用class包装。突破组件是静态页面的思维方式。

3.组件分类:
纯展示型组件:数据进,dom出
揭露型组件(container):和数据层打交道。将数据传给展示型的组件。
交互性组件:对于表单组件的封装和加强。强调复用。
功能型 比如 ,作为一种扩展、抽象机制存在。

4 模版和jsx的对比:
jsx:本质上js。最大的优点:灵活性。最大的价值是书写功能型组件远超模版。
模版会将最少的逻辑放在模版文件里。

5 colocation:
模版,样式和js逻辑

6 变化侦测:
vue数据是响应式的,把数据交给vue后,mutate属性值时,vue会做出响应的更新。详情见:
https://docs.google.com/presentation/d/1_BlJxudppfKmAtfbNIcqNwzrC5vLrR_h1e09apcpdNY/edit?usp=sharing
pull:系统进行暴力比对,查出哪些变了。(react)
通过一些方式减少系统无用功
push:细粒度的更新,但是每一个绑定都会有开销。(vue)

7 状态管理(flux)
本质:从源事件映射到状态的改变,再映射到ui的变化。
声明式渲染:已经做到了状态的改变映射到ui的变化。
状态管理做的事情是:如何管理将事件元映射到状态变化。

把vue当redux用:https://jsfiddle.net/yyx990803/0a22ojps/
把vue当mobx用:https://jsfiddle.net/yyx990803/f5a24dk3/

8 路由:
组件和路由解耦,变成了把一个URL映射到组件树的过程。
路由之间的跳转,要提供钩子,或者可能进行异步操作。

web路由和app路由的区别:
web:上一个状态被丢弃
app:新的界面盖在现有的界面上。

  1. css
    主流的 CSS 方案
    • 跟 JS 完全解耦,靠预处理器和比如 BEM 这样的规范来保持可维护性,偏传统
    • CSS Modules,依然是 CSS,但是通过编译来避免 CSS 类名的全局冲突
    • 各类 CSS-in-JS 方案,React 社区为代表,比较激进
    • Vue 的单文件组件 CSS,或是 Angular 的组件 CSS(写在装饰器里面),一种比较折中的方案
      css-in-js:
      https://speakerdeck.com/vjeux/react-css-in-js
      反对css-in-js:
      https://medium.com/seek-blog/a-unified-styling-language-d0c208de2660
      有价值的点:
      https://medium.com/seek-blog/a-unified-styling-language-d0c208de2660
      内容梗概:
      传统css缺点:
      传统 css 的一些问题:
  2. 作用域
  3. Critical CSS
  4. Atomic CSS
  5. 分发复用
  6. 跨平台复用

10构建工具
构建工具解决的其实是几方面的问题:

  • 任务的自动化
  • 开发体验和效率(新的语言功能,语法糖,hot reload 等等)
  • 部署相关的需求
  • 编译时优化

关于部署
https://www.zhihu.com/question/20790576

关于服务端渲染:
ssr.vuejs.org

新规范:
ssr.vuejs.org

https://www.zhihu.com/question/58731753

你可能感兴趣的:(【知乎】尤雨溪知乎live感悟与总结)