|
@@ -0,0 +1,49 @@
|
|
|
+// Hooks 是16.8版本新增的一个钩子, 主要解决:函数组件中数据无法修改的问题
|
|
|
+// 使用哪个钩子,就要在函数组件中导入哪个钩子
|
|
|
+import { useState } from 'react';
|
|
|
+
|
|
|
+// function Demo(){
|
|
|
+ // hooks钩子要写在函数组件的顶部
|
|
|
+ // 可以定义多个钩子
|
|
|
+ // useState(初始值)
|
|
|
+ // let [name,setName] = useState("糯米")
|
|
|
+ // let [age,setAge] = useState(18)
|
|
|
+ // let [address,setAddress] = useState("北京")
|
|
|
+
|
|
|
+ // 修改值可使用对应的 setxxx("新值")
|
|
|
+ // let change = ()=>{
|
|
|
+ // setName("栗子")
|
|
|
+ // setAge(20)
|
|
|
+ // setAddress("上海")
|
|
|
+ // console.log(this)
|
|
|
+ // }
|
|
|
+// function change(){
|
|
|
+// setName("栗子")
|
|
|
+// setAge(20)
|
|
|
+// setAddress("上海")
|
|
|
+// console.log(this)
|
|
|
+// }
|
|
|
+// return(
|
|
|
+// <div>
|
|
|
+// <p>我是 {name},今年 {age}岁,我住在 {address}</p>
|
|
|
+// <button onClick ={change.bind(this)}>修改</button>
|
|
|
+// </div>
|
|
|
+// )
|
|
|
+// }
|
|
|
+
|
|
|
+function Demo(){
|
|
|
+ let [user,setUser] = useState({
|
|
|
+ name:"糯米",
|
|
|
+ age:18
|
|
|
+ })
|
|
|
+ return(
|
|
|
+ <div>
|
|
|
+ <p>我是 {user.name},今年 {user.age}岁</p>
|
|
|
+ <button onClick ={()=>{
|
|
|
+ // 修改对象的值,要使用对象的解构赋值
|
|
|
+ setUser({...user,name:"栗子",age:20})
|
|
|
+ }}>修改</button>
|
|
|
+ </div>
|
|
|
+ )
|
|
|
+}
|
|
|
+export default Demo;
|