React hook 之 useState

在组件的顶部定义状态变量,并传入初始值,确保当这些状态变量的值发生变化时,页面会重新渲染。

const [something,setSomething] = useState(initialState);

useState 返回一个由两个值组成的数组:1、当前的 state,在首次渲染时,它将与你传递的 initialState 相匹配。2、set 函数,它可以让你将 state 更新为不同的值并触发重新渲染。

something是定义的状态变量,initialState是初始值,setSomething函数允许你将 state 更新为不同的值并触发重新渲染。

1、定义一个字符串变量

复制代码
import { useState } from 'react';
// 定义一个字符串变量,初始值为null;
const [name, setName] = useState(null);
// 需要改变时,直接调用setName赋值
setName('hello world');
console.log(name); // 打印结果为: hello world

2、定义一个对象变量

复制代码
import { useState } from 'react';
const [serverObj, setServerObj] = useState({ip:'',port:''});
 // 输入框变化时
  const inputChange = (val) => {
  // 调用setServerObj赋值
    setServerObj({ ...serverObj, ip: val });
  };
  // 输入框组件
<Input placeholder='IP' value={serverObj.ip} onChange={val=>{inputChange(val)}}/>

注意:useState 是一个 Hook,因此你只能在组件的顶层调用它。

相关推荐
闲云一鹤9 小时前
Git 焚决!一个绝招助你找回丢失的代码文件!
前端·git
小宇的天下9 小时前
Calibre 3Dstack--每日一个命令day 6 [process和export layout](3-6)
java·前端·数据库
冴羽9 小时前
2025 年最火的前端项目出炉,No.1 易主!
前端·javascript·node.js
wordbaby9 小时前
Flexbox 布局中的滚动失效问题:为什么需要 `min-h-0`?
前端·css
demo007x9 小时前
在国内也能使用 Claude cli给自己提效,附实操方法
前端·后端·程序员
jayaccc10 小时前
Webpack配置详解与实战指南
前端·webpack·node.js
南囝coding10 小时前
发现一个宝藏图片对比工具!速度比 ImageMagick 快 6 倍,还是开源的
前端
前端小黑屋10 小时前
查看 Base64 编码的字体包对应的字符集
前端·css·字体
每天吃饭的羊10 小时前
媒体查询
开发语言·前端·javascript
XiaoYu200210 小时前
第8章 Three.js入门
前端·javascript·three.js