一、React Hook/Hooks是什么?
1、Hook是React 16.8.0版本增加的新特性/新语法 2、可以让你在函数组件中使用 state 以及其他的 React 特性
二、State Hook
介绍: State Hook让函数组件也可以有state状态, 并进行状态数据的读写操作 语法: const [xxx, setXxx] = React.useState(initValue)
function Demo() {
const [count, setCount] = React.useState(0)
function add () {
setCount(count => count+1)
}
return (
<div>
<h2>当前求和为:{count}</h2>
<button onClick={add}>点我+1</button>
</div>
)
}
三、Effect Hook
介绍: Effect Hook 可以让你在函数组件中执行副作用操作(用于模拟类组件中的生命周期钩子-componentDidMount() -componentDidUpdate() -componentWillUnmount() ) 语法:
useEffect(() => {
return () => {
}
}, [stateValue])
React.useEffect(()=> {
let timer = setInterval(()=> {
setCount(count => count+1)
}, 2000)
return () => {
clearInterval(timer)
}
}, [])
四、Ref Hook
介绍: Ref Hook可以在函数组件中存储/查找组件内的标签或任意其它数据(类似于React.createRef() ) 语法: const refContainer = useRef()
function Demo() {
const myRef = React.useRef()
function show() {
console.log(myRef.current.value)
}
return (
<div>
<input ref={myRef} type="text" />
<button onClick={show}>点击提示数据</button>
</div>
)
}
五、卸载组件
root.unmount()
|