react v16.8.0终于正式发布,这个版本包含了[react hook](https://reactjs.org/docs/hooks-intro.html),也是react hook正式发行的版本。
react hook是什么?
想必大家都略知一二,如果不了解,可以看看react官方文档:
Introducing Hooks – Reactreactjs.org总的来说,react hook是未来组件的开发方式,它可以让函数组件能够使用state和组件生命周期,而不再需要臃肿的class类来开发组件。它简化了组件开发方式,让你写前端代码如流水般畅快。
下面是官方的一个例子:
import React, { useState } from 'react';
function Example() {
// count为state,setCount为更新state的方法,命名随意。useState传入的0为初始state。
const [count, setCount] = useState(0);
return (
<div>
<p>You clicked {count} times</p>
<button onClick={() => setCount(count + 1)}>
Click me
</button>
</div>
);
}
但实际上不仅如此,它还解决了副作用的问题,也就是effect,结合Suspense,它可以让你可以更优雅更好地处理数据。
此外,它还提供了一些如useReducer、useContext这样的钩子,足以让你轻松地自己封装一个redux,自己实现状态管理,而不需要使用额外的第三方包。简而言之,redux已经不需要了。
下面是react hook的一些API:
基本API:
useState
useEffect
useContext
额外的API:
useReducer
useCallback
useMemo
useRef
.....更多请看官方文档:
Introducing Hooks – Reactreactjs.org