|
|
@@ -1,5 +1,6 @@
|
|
|
-import { useState } from "react";
|
|
|
+import { useEffect, useState } from "react";
|
|
|
function UseLearnState() {
|
|
|
+ // this.setState 18+ 异步 18前同步异步都可 看使用方式
|
|
|
// 字段名 修改字段名的方法
|
|
|
// const [xx,setXx] = useState(initialState)
|
|
|
const [count, setCount] = useState(1);
|
|
|
@@ -36,11 +37,16 @@ function UseLearnState() {
|
|
|
setCount((prevVal) => prevVal + 1)
|
|
|
setCount((prevVal) => prevVal + 1)
|
|
|
}
|
|
|
+ useEffect(() => {
|
|
|
+ console.log("触发")
|
|
|
+ }, [count, isOpen])
|
|
|
// 自动批量处理
|
|
|
function handleChange() {
|
|
|
- setCount(count + 1)
|
|
|
- setIsOpen(!isOpen)
|
|
|
// 组件渲染了一次
|
|
|
+ // 18之后都触发一次 17前触发两次
|
|
|
+ // setCount(count + 1)
|
|
|
+ // setIsOpen(!isOpen)
|
|
|
+
|
|
|
setCount(c => c + 1)
|
|
|
setIsOpen(is => !is)
|
|
|
}
|