React使用/更新useState数据

使用 useState() 进行状态管理

useState()是改变状态的开关,将状态添加到函数组件需要4个步骤:启用状态、初始化、读取和更新

import React, { useState } from 'react';  //1.启用状态
const [state, setstate] = useState(initialState);	//2.初始化状态
consloe.log(state); //3.读取
setstate(newState);	//4.更新状态

useState()使用回调更新状态

  • 仅顶层调用:不能在循环,条件,嵌套函数等中调用useState()
  • 仅从React 函数调用 :必须仅在函数组件或自定义钩子内部调用
setstate( pre => return { ...pre }

状态一旦改变,React 就会重新渲染组件,state变量获取新状态值
React组件的更新机制对state只进行浅对比

状态:简单(值)类型

状态:引用类型

数组

const [state, setstate] = useState([1,2,3]);
setstate(
         (pre)=>{
             pre.push(4);
             return [...pre]
         }
     )

数组套对象

const [state, setstate] = useState([{id:1},{id:2}]);
setstate(
         (pre)=>{
             pre[i].id = 'id';
             return [...pre]
         }
     )

对象

const [state, setstate] = useState({name:'zhangsan'});
setstate({
             ...state;
             state.name : newname;
})

对象数组

const [state, setstate] = useState({name:'zhangsan'},arr:[1,2,3]);
let temp = [...state.arr];
temp.push(4);
setstate({
             ...state;
             state.arr : temp;
})
  • 3
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值