react-reconsiler模块 - React源码解析(四

2020-05-18  本文已影响0人  请叫我Pro大叔

React Hooks
React到目前为止已经内置了15种钩子:

当然,比较常用的还是那几个:useState、useContext、useRef、useCallback、useMemo、useImperativeHandle、useReducer(其实这个我不怎么用的,主要是框架中已经集成了Redux啦,没有集成Redux的项目建议用用)。

前面,我们已经知道Hook是在renderWithHooks函数中被处理的。其实呢,React处理Hooks是分不同时期的,这就在src/ReactFiberHooks.js中定义了四种Dispatcher(当然这是除去Dev那几种重复的之外啦):

const Todo = () => {
  const [title, setTitle] = useState(null)
  ...
}

同一个Todo实例,在第一次执行时执行的是一个叫rerenderState函数的代码,而组件更新的时候执行的是updateState的代码。

上一篇 下一篇

猜你喜欢

热点阅读