react函数学习——useState函数

在 React 中,useState 是一个钩子(hook),用于在函数组件中添加状态管理功能。它返回一个数组,包含两个元素:

  1. 当前状态值selectedValue):这是状态的当前值。
  2. 更新状态的函数setSelectedValue):这是一个函数,你可以调用它来更新状态。

使用 useState

以下是 useState 的基本用法:

javascript 复制代码
import React, { useState } from 'react'; 
function MyComponent() { // 初始化状态 
    const [selectedValue, setSelectedValue] = useState(''); // 处理状态更新的函数         
    const handleChange = (event) => { setSelectedValue(event.target.value); };         
    return ( <div> <input type="text" value={selectedValue} onChange={handleChange} /> <p>Current value: {selectedValue}</p> </div> ); }

解释

  1. const [selectedValue, setSelectedValue] = useState('')

    • selectedValue 是当前的状态值。在这个例子中,它的初始值是空字符串 ''
    • setSelectedValue 是更新状态的函数。你可以调用这个函数来改变 selectedValue 的值。
  2. 更新状态

    • handleChange 函数中,通过 setSelectedValue(event.target.value) 更新状态。这个函数会触发组件的重新渲染,使新的状态值反映在 UI 上。

注意事项

  • 状态更新是异步的 :调用 setSelectedValue 不会立即更新 selectedValue 的值。状态更新通常会被异步处理,React 会批量更新状态并重新渲染组件。

  • 函数式更新:如果你需要基于当前状态计算新的状态值,建议使用函数式更新。比如:

    javascript 复制代码
    setSelectedValue(prevValue => prevValue + ' updated');

    这可以确保你获得的是最新的状态值,特别是在多次更新时。

相关推荐
草字15 小时前
css flex布局,设置flex-wrap:wrap换行后,如何保证子节点被内容撑高后,每一行的子节点高度一致。
前端·javascript·css
Dersun15 小时前
python学习进阶之异常和文件操作(三)
开发语言·python·学习·json
局i15 小时前
ES6 类与继承:现代 JavaScript 面向对象编程
前端·javascript·es6
夏天199516 小时前
React:聊一聊状态管理
前端·javascript·react.js
鹏多多16 小时前
vue的监听属性watch的详解
前端·javascript·vue.js
LFly_ice16 小时前
学习React-11-useDeferredValue
前端·学习·react.js
青衫码上行16 小时前
【从0开始学习Java | 第17篇】集合(中-Set部分)
java·学习
ホロHoro16 小时前
学习笔记:JavaScript(4)——DOM节点
javascript·笔记·学习
·白小白17 小时前
C++类(上)默认构造和运算符重载
c++·学习
一只小风华~17 小时前
Vue: ref、reactive、shallowRef、shallowReactive
前端·javascript·vue.js