Open wwwind213 opened 5 years ago
在 React 中使用 class 继承 React.Component,就可以在类里面使用各种各样的钩子函数,比如 componentWillMount、componentDidMount、componentWillUnmount 等。
你也可以直接写 function 来构建 reander 方法,但是就无法使用钩子函数,无法使用 setState 修改状态。 在 React 16 版本之后新增了 hooks 特性,hooks 特性的主要表现形式为:在 React 中可以直接使用函数的形式来完成所有组件逻辑。
应用场景 1.修改数据状态: useState 2.执行 DOM 挂载或者更新之后的事务 :useEffect 3.共享数据,跨组件传值:useContext
utils
的纯JS代码,现在也能够通过hooks后的封装,实现“响应式”useEffect
hook.useMemo``useCallback
对变量、函数的缓存,结合React.PureComponent``React.memo
可以避免不需要的renderuseRef
声明一个状态值,不随着组件函数的执行而重新赋值,只以最后一次赋值为准react-router
的useLocation
useParams
useRouteMatch
useHistory
,react-redux
的useDispatch
useSelector
等
[react] 请描述下你对react的新特性Hooks的理解?它有哪些应用场景?