「React」之useEffect

该文章介绍了React函数式组件如何使用useEffect和useState进行状态管理和模拟生命周期方法。通过示例展示了useEffect在组件挂载和卸载时执行,以及在状态变化时的响应。同时,文章演示了useState进行状态更新和通过useHistory进行路由导航的操作。
摘要由CSDN通过智能技术生成

前言

react函数式组件本没有生命周期函数,提供了useEffect副作用函数借以处理类似的功能

介绍

// rfc
import React, { useEffect, useState } from 'react'
import { Button } from 'antd'
import { useHistory } from 'react-router-dom'

export default function Index() {
  const [state, setState] = useState(0)

  useEffect(() => {
    // 页面第1次加载会触发
    console.log('Component mounted')
    // 页面卸载时触发
    return () => {
      console.log('Component WillUnmount')
    }
  }, [])

  // state每次改变都会触发
  useEffect(() => {
    console.log('Component DidUpdate')
  })

  // 在第1次和state数据发生改变时都会触发
  useEffect(() => {
    // 副作用代码
    console.log('State Value DidUpdate')
  }, [state])

  // state呈现递增变化的方法
  const addNumber = () => {
    const newNumber = state - -1
    setState(newNumber)
  }

  let history = useHistory()
  const toIndex = () => {
    history.push('/debut')
  }

  return (
    <div>
      <div>{state}</div>
      <Button type="primary" onClick={addNumber}>
        +
      </Button>
      <Button type="primary" onClick={toIndex}>
        返回Index
      </Button>
    </div>
  )
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值