useState
首先不同于class组件这个组件中没有this
function Demo() {
let [num, setNum] = React.useState(0)
let [zjqName, setzjqName] = React.useState({name:'zjq'})
const changeNum = () => {
setNum(num + 1)
}
const changeName =()=>{
setzjqName(zjqName=>{
return {
...zjqName,
name:"hahahah"
}
})
}
return (
<div >
我现在的num数值是 : {num}
<button onClick={changeNum}>点我num加1</button>
我的名字是 : {zjqName.name}
<button onClick={changeName}>点我改变name</button>
</div>
)
}
export default Demo
React.useState(0): 1.这个方法会返回一个数组,[状态,改变状态的函数]; 2.这个数组的第一项是当前的状态 第二项是个函数 用于更新第一项的状态; 3.useState传入的值就是num这个变量的初始值,也就是默认值。 点击按钮出发changeNum方法,在这个方法中调用setNum这个方法,并将最近的num值传入进入,即完成了num这个变量状态的更新。
|