前言
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>
)
}