返回

React hooks 从入门到实战

前端

React hooks 入门

React hooks 是一种新的 API,它允许我们在函数组件中使用 state 和生命周期方法。这使得我们可以编写更简洁、更易维护的 React 组件。

要使用 React hooks,我们需要先导入它们。我们可以使用以下代码来导入 hooks:

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

useState hook

useState hook 可以让我们在函数组件中使用 state。我们可以使用以下代码来使用 useState hook:

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

这将创建一个名为 count 的 state 变量,它的初始值为 0。我们可以使用 setCount() 方法来更新 count 的值。

useEffect hook

useEffect hook 可以让我们在函数组件中使用生命周期方法。我们可以使用以下代码来使用 useEffect hook:

useEffect(() => {
  // 副作用代码
}, [dependencies]);

useEffect hook 的第一个参数是一个函数,这个函数会在组件挂载、更新和卸载时执行。useEffect hook 的第二个参数是一个数组,这个数组指定了 useEffect hook 应该在哪些情况下执行。

实战:数据查询小工具

现在我们已经了解了 React hooks 的基本用法,我们可以来构建一个数据查询小工具了。

首先,我们需要创建一个 React 组件来渲染数据查询小工具的界面。我们可以使用以下代码来创建这个组件:

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

const DataQueryTool = () => {
  const [data, setData] = useState([]);
  const [loading, setLoading] = useState(false);

  useEffect(() => {
    setLoading(true);
    fetch('https://jsonplaceholder.typicode.com/posts')
      .then(response => response.json())
      .then(data => {
        setData(data);
        setLoading(false);
      });
  }, []);

  return (
    <div>
      {loading ? (
        <div>Loading...</div>
      ) : (
        <ul>
          {data.map(item => (
            <li key={item.id}>{item.title}</li>
          ))}
        </ul>
      )}
    </div>
  );
};

export default DataQueryTool;

这个组件使用 useState hook 来管理数据和加载状态。它使用 useEffect hook 来在组件挂载时拉取数据。

接下来,我们需要创建一个 React 组件来渲染数据查询小工具的查询表单。我们可以使用以下代码来创建这个组件:

import React, { useState } from 'react';

const SearchForm = () => {
  const [searchTerm, setSearchTerm] = useState('');

  const handleSubmit = (e) => {
    e.preventDefault();
    // 查询数据
  };

  return (
    <form onSubmit={handleSubmit}>
      <input type="text" value={searchTerm} onChange={e => setSearchTerm(e.target.value)} />
      <button type="submit">查询</button>
    </form>
  );
};

export default SearchForm;

这个组件使用 useState hook 来管理搜索词状态。它使用 handleSubmit() 方法来处理查询表单的提交事件。

最后,我们需要创建一个 React 组件来将数据查询小工具和查询表单组合在一起。我们可以使用以下代码来创建这个组件:

import React from 'react';

import DataQueryTool from './DataQueryTool';
import SearchForm from './SearchForm';

const App = () => {
  return (
    <div>
      <SearchForm />
      <DataQueryTool />
    </div>
  );
};

export default App;

这个组件只是简单地将数据查询小工具和查询表单组合在一起。

现在,我们就可以运行这个应用了。我们可以使用以下命令来运行这个应用:

npm start

然后,我们就可以在浏览器中访问这个应用了。

总结

React hooks 是 React 16.8 版本中引入的新特性,它可以帮助我们编写更简洁、更易维护的 React 组件。本文从入门到实战,一步步教你如何使用 React hooks 来构建一个数据查询小工具。