React Hooks:useState、useEffect和useContext

本文详细介绍了React Hooks中的useState、useEffect和useContext。useState用于为函数组件添加状态管理,useEffect处理副作用,useContext则提供全局状态。文章通过语法解析、应用场景、案例分析和总结,帮助读者深入掌握这三个核心Hooks的用法。
摘要由CSDN通过智能技术生成

目录

1. useState - 让函数组件具有维持状态的能力

        1.1 语法

        1.2 应用   

2. useEffect  -  执行副作用

        2.1 语法

        2.2 应用

        2.3 关于依赖项

        2.4 小案例

        2.5 小总结

3. useContext - 定义全局状态

        3.1 Context机制

        3.2 使用步骤

4. 综合小案例 - 改变主题

             


useState、useEffect和useContext是在项目中使用频率比较高的三个内置Hooks。下面来介绍一下三个Hooks的基本用法和使用场景,以及与使用Class组件时的一些区别。

注意:Hooks只能在函数式组件中使用哦

1. useState - 让函数组件具有维持状态的能力

        1.1 语法

const [state, setState] = useState(initialState)
// useState钩子函数返回值为数组,其第一个元素是用来读取state值,第二个是用来设置state值的方法
// initialState 作为参数是设置state的初始值

// 设置
setState(newStateValue)

        1.2 应用   

        一般第二个参数以set+state值名字来命名,这样语义上表意,且统一。比如:

// 保存一个“主题”的值,为一个对象
const [theme, setTheme] = useState({});  // theme = {}
// 上述代码表示,设置一个state值名为theme,设置其值的方法为setTheme,其初始值为{}

// 修改theme的值
setTheme({background:'#fcfcfc'});  // theme = {background:'#fcfcfc'}

// 对比Class组件中修改state的方式
state = {
    theme: {}
}

this.setState({
    theme:{background:'#fcfcfc'}
})

2. useEffect  -  执行副作用

如果对Class组件的生命周期熟悉,可以把useEffect Hook看作是 componentDidMount 、componentDidUpdate、componentWillUnmounted三个生命周期函数的组合。

        2.1 语法

useEffect(callback, dependencies)
// callback是要执行的函数
// dependencies是可选的依赖数组

        2.2 应用

import React, {useEffect} from 'react';
const Demo = () => {
    
    useEffect(()=>{
        // 组件在首次渲染和更新时执行
        console.lo
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值