react hook 快速学习

111 阅读1分钟

Hook 是 React 16.8 的新增特性,可以让你在不编写 class 的情况下使用 state 以及其他的 React 特性 useState 会返回一对值:当前状态和一个让你更新它的函数

[count, setCount] = useState(0);

React 组件中执行过数据获取、订阅或者手动修改过 DOM这样一些副作用。useEffect 给函数组件增加了操作副作用的能力。

// 相当于 componentDidMount 和 componentDidUpdate:
  useEffect(() => {
    // 使用浏览器的 API 更新页面标题
    document.title = `You clicked ${count} times`;
  });

useEffect 可以通过return一个函数来清除一些副作用,比如取消订阅

Hook 就是 JavaScript 函数,但是使用它们会有两个额外的规则:

只能在函数最外层调用 Hook。不要在循环、条件判断或者子函数中调用。 只能在 React 的函数组件中调用 Hook。不要在其他 JavaScript 函数中调用。

react中重用一些状态逻辑有三种方式了: 高阶组件、render props和hook

自定义hook名称一般以use开头