从0开始实现 react-router

2018-01-04
阅读 7 分钟
4.1k
这也将使浏览器地址显示 [链接], 也不会加载。 浏览器也不会检查bar.html 是否存在。 pushState和replaceState的区别在于 回退的时候。 push是在history栈中加了一个记录, 而repalce是替换一个记录。 这两个方法都接收3个参数, 分别是:

为什么我们需要reselect

2017-11-10
阅读 6 分钟
10.8k
这个UnusedComp 组件关心这样的几个props: a, b, c, f(a,b), h(b, c), g(a, c), u(a, b, c), 其中f, h, g, u分别是一个函数。 关于这几个计算的值, 我们应该怎么处理呢?

从0实现一个tiny react-redux

2017-10-19
阅读 7 分钟
3.2k
这个store接受一个 type为add的action。 假设现在有一个 组件HelloWorld 监听展示这个 store的count值。

从0实现一个tinyredux

2017-09-22
阅读 7 分钟
3.7k
讲真,redux已经很小了,去掉注释代码也就300行吧, 大家可以去读一下, 注释写的也是非常详细了。redux 更多的是对思维上的变化:数据改变 + 视图更新 二者分开,各自管理自己。而且用了redux就不用处理组件间通信的问题,可以随心所欲的去粒度化组件。 另外由于状态托管给redux,可以大量的使用无状态组件, 无状态组...

从0实现一个tiny react(三)生命周期

2017-09-13
阅读 15 分钟
3.2k
从0实现一个tiny react(三)生命周期 在给tinyreact加生命周期之前,先考虑 组件实例的复用 这个前置问题 复用组件实例 render函数 只能返回一个根 {代码...} 所以 最终的组件树一定是类似这种的 (首字母大写的代表组件, div/span/a...代表原生DOM类型) 是绝对不可能 出现下图这种树结构 (与render函数返回单根的特...

从0实现一个tiny react(二)

2017-09-07
阅读 9 分钟
4.1k
ui = f(d)! 这是react考虑ui的方式,开发者可以把重心放到d 数据上面来了。 从开发者的角度来讲 d一旦改变,react将会把ui重新渲染,使其再次满足ui = f(d), 开发者没有任何dom操作, 交给react就好!!

从0实现一个tiny react(一)

2017-08-24
阅读 8 分钟
5.7k
从0实现一个tiny react(一) 学习一个库的最好的方法就是实现一个, 注: 实际react的代码可能相去甚远。 支持JSX react组件可以完全不用JSX, 用纯js来写。 JSX语法经过babel转化就是纯js代码, 譬如: {代码...} 这两种是等效的。 babel 通过babylon 来把JSX转化为js配置如下(transform-react-jsx): {代码...} 所以对...