深入理解 React Hooks:概念、应用场景与实践

Hooks 是我们在构建 React Web 应用时,如果想要使用函数组件,React 提供给我们的一些特性。这些特性不仅是 INLINECODE14948419 和 INLINECODE29d2a937 等生命周期方法的替代方案,还为我们提供了编写可维护代码的更大灵活性。

前置知识

目录

  • UseState Hooks
  • UseEffect Hooks
  • UseRef Hooks

1. React useState() hooks: 这个 Hook 帮助函数组件来管理状态。它接收一个参数(即初始状态),并返回一个包含当前状态和用于更新该值的函数的数组。
语法:

const [state, setState] = useState( );

2. React useEffect() hooks: 这个 Hook 帮助我们在页面渲染时执行副作用操作,例如数据获取、手动 DOM 操作等。它的作用类似于类组件中的生命周期方法(如 INLINECODE52b46bed、INLINECODE7f45825e 和 componentWillUnmount)。它接受两个参数:一个函数和一个可选的依赖数组。
语法:

useEffect(() => {
    console.log("welcome to geeks for geeks");
}, [input])

3. React useRef() hooks: 这个 Hook 主要用于创建对 DOM 元素的引用。它在多次重新渲染之间保留值,并且当值发生变化时不会导致重新渲染,这使应用程序运行更快,并有助于缓存和存储先前的值。它只接受一个初始值,并返回一个具有 current 属性的对象。
语法:

const stateRef = useRef();
// some code ...

现在我们将借助这些 Hooks 创建一个天气应用程序。

创建 React 应用程序 的步骤

步骤 1: 使用以下命令创建一个 React 应用程序。

npx create-react-app foldername

步骤 2: 创建项目文件夹(即 function demo)后,使用以下命令进入该文件夹。

cd foldername

步骤 3: 安装 Axios 依赖。

npm install axios

步骤 4: 运行开发服务器。

npm start

项目结构:

!image

示例: 现在创建两个名为 App.js 和 WeatherComponent.js 的文件

App.js


CODEBLOCK_240b4bfd

WeatherComponent.js


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

import axios from "axios";

const WeatherComponent = ({ location }) => {

const [weatherData, setWeatherData] = useState(null);

useEffect(() => {

const fetchData = async () => {

if (location === undefined |

location === null

location.length === 0)

location = "Delhi";

var options = {

method: "GET",

url: "https://w

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。如需转载,请注明文章出处豆丁博客和来源网址。https://shluqu.cn/28201.html
点赞
0.00 平均评分 (0% 分数) - 0