16.8新增的特性,能在不写class时用state
Hook是一些让你在函数组件里钩入React state及生命周期等特性的函数,不使用class也可以使用React
useState 通过在函数组件里调用它来给组件添加一些内部state,React会在重复渲染是保留这个state。
useEffect 给函数组件增加来操作副作用的能力,跟class组件中的componentDidMount/componentDidUpdate/componentWillUnmount有相同的作用
// 使用浏览器的 API 更新页面标题
document.title = `You clicked ${count} times`;
}); ```
useContext 让你不使用组件嵌套就可以订阅React的context。
useReducer 让你通过reducer来管理组件本地的复杂state。
只在React函数的最顶层调用他们,可以保证hook在每一次渲染中都按照同样的顺序被调用,这让React在多次的useState和useEffect调用之间保持hook状态的正确