学习react第四天-状态:组件的内存

50 阅读1分钟

状态:组件的内存

改变的UI界面内容,用户的操作行为,当前输入的值。在 React 中,这种特定于组件的内存称为状态。

但是在组件内设置局部变量是行不通的。

  1. 局部变量不会在渲染之间持续存在。当 React 第二次渲染此组件时,它会从头开始渲染它 - 它不会考虑对局部变量的任何更改。
  2. 对局部变量的更改不会触发渲染。React 没有意识到它需要用新数据再次渲染组件。

useState 钩子提供了这两件事:

  1. 用于保留渲染之间数据的状态变量。

  2. 一个状态设置函数,用于更新变量并触发 React 再次渲染组件。

    import { useState } from 'react';
    export default function Gallery() {
          const [index, setIndex] = useState(0);
          
          function handleClick() {
            setIndex(index + 1);
         }
         return (
            <>
            // onClick={handleClick}
            <>
          )
     }
     
    

useState 解析: 当你调用 useState 时,React 让这个组件记住一些东西。

每次你的组件渲染时,useState 都会为你提供一个包含两个值的数组:

  1. 状态变量 (index) 以及你存储的值。
  2. 状态设置函数(setIndex),可以更新状态变量并触发 React 再次渲染组件。

而React 也可以调用多个状态管理器,React 按顺序匹配,React 为每个组件保存一组状态对。它还维护当前对索引,该索引在渲染前设置为 0。每次调用 useState 时,React 都会为你提供下一个状态对并递增索引。