早期开发是以页面为单位,而现在更趋向于应用,应用则意味着组件化;而React揭示了一个事实,组件树是一个函数
<router-view>
,<transition>
,作为一种扩展、抽象机制存在。相关的资源(js,css之类)以组件作切分,管理;而传统的做法是按文件类型维护
pull(粗粒度)
react与angular,需要手动告知有变化发生,之后它们会进行“暴力的”比对(react的diff,angular的脏检查),来找到哪里有变化;因此react中有pure component
一类的东西来由用户帮助系统跳过一些比对
push(细粒度)
由'watcher'主动告知哪里发生变动,相应的会带来额外的内存开销。因此vue2.0采用组件push,内部pull(virtual dom比对)的策略
侦测成本与自动优化的平衡取舍
从源事件——>状态的迁移——>状态的改变——>ui的更新
e.g. 鼠标点击——>应用状态改变——>ui改变
redux与mobx与vue?
以组件作为路由映射的基本元素
url可理解为序列化的状态
React-router4将路由去中心化,用组件本身作为路由,而非是以往的集中式管理。但这对于理解路由的结构;管理路由跳转有一些问题
web路由方案,相对于应用路由,在跳转中状态被丢弃,而非是一层层的叠加状态