技术学习心得分享

← 返回首页

深入理解React Hooks

什么是React Hooks?

React Hooks是React 16.8引入的新特性,它允许你在不编写class组件的情况下使用state和其他React特性。

useState Hook示例

import React, { useState } from 'react';

function Counter() {
  const [count, setCount] = useState(0);

  return (
    

当前计数:{count}

); }

useEffect Hook的使用

useEffect Hook让你可以在函数组件中执行副作用操作,比如数据获取、订阅或者手动修改DOM。

import React, { useState, useEffect } from 'react';

function Example() {
  const [data, setData] = useState(null);

  useEffect(() => {
    fetch('https://api.example.com/data')
      .then(response => response.json())
      .then(data => setData(data));
  }, []);

  return (
    
{data ? (

{data.message}

) : (

加载中...

)}
); }

自定义Hook

自定义Hook是一种复用状态逻辑的方式,它不复用state本身,而是复用状态逻辑。

function useWindowSize() {
  const [size, setSize] = useState({
    width: window.innerWidth,
    height: window.innerHeight
  });

  useEffect(() => {
    const handleResize = () => {
      setSize({
        width: window.innerWidth,
        height: window.innerHeight
      });
    };

    window.addEventListener('resize', handleResize);
    return () => window.removeEventListener('resize', handleResize);
  }, []);

  return size;
}