(1). State Hook让函数组件也可以有state状态, 并进行状态数据的读写操作
(2). 语法: const [xxx, setXxx] = React.useState(initValue)
(3). useState()说明:
参数: 第一次初始化指定的值在内部作缓存
返回值: 包含2个元素的数组, 第1个为内部当前状态值, 第2个为更新状态值的函数
(4). setXxx()2种写法:
setXxx(newValue): 参数为非函数值, 直接指定新的状态值, 内部用其覆盖原来的状态值
setXxx(value => newValue): 参数为函数, 接收原本的状态值, 返回新的状态值, 内部用其覆盖原来的状态值
import React from 'react'
export default function Hookuse() {
//数组中第一个参数,是后面的值,第二个参数是改变值的方法
const [num,setnum] = React.useState(0)
const [name,setName] = React.useState('小米')
// console.log(num,usenum,'num,usenum')
return (
<div>
{num}
{name}
<button onClick={bck}>点击加</button>
</div>
)
function bck(){
//第一种方式
// setnum(num + 20)
//第二种方式(第一个参数是原来的值,返回一个新值)
setnum(num =>num +20)
console.log('bck');
setName('小李')
setName((a)=> a + 1)
}
}
有两种方式,第一种方式直接写值,第二种方式(第一个参数是原来的值,第二个参数返回一个新的值)
function bck(){
//第一种方式
setnum(num + 20)
//第二种方式(第一个参数是原来的值,返回一个新值)
setnum(num =>num +20)
setName('小李')
setName((a)=> a + 1)
}