插件窝 干货文章 为什么在 React 中使用 useState 而不是仅仅使用变量

为什么在 React 中使用 useState 而不是仅仅使用变量

usestate react 变量 count 975    来源:    2024-10-22

为什么在 react 中使用 usestate 而不是仅仅使用变量

你有没有想过为什么我们在 react 中使用 usestate 而不仅仅是变量?让我们用一个简单的反例来探讨这个概念。

一个简单的计数器示例

想象我们有一个带有两个按钮的基本计数器:一个用于增加计数,一个用于减少计数。如果我们使用 usestate 创建这个计数器,它就可以完美地工作。但是,如果我们尝试仅使用常规变量,则它不会按预期工作。

import react, { usestate } from 'react';

function counter() {
  // using usestate to create a state variable
  const [count, setcount] = usestate(0);

  return (
    <div>
      <p>count: {count}</p>
      <button onclick="{()"> setcount(count + 1)}&gt;increase</button>
      <button onclick="{()"> setcount(count - 1)}&gt;decrease</button>
    </div>
  );
}

export default counter;

什么是 usestate?

usestate 是 react 中的一个钩子,可让您向功能组件添加状态。状态就像组件用来记住事物并随着时间的推移更新它们的存储器。

为什么变量不起作用

使用变量不起作用的原因是 react 不会像使用 usestate 管理的状态那样跟踪常规变量的更改。当你点击增加或减少按钮时,usestate 让 react 知道状态已经改变。然后 react 重新渲染组件并更新计数。

但是,对于常规变量,react 不知道这些变化,因此它不会更新计数。

import React from 'react';

function Counter() {
  // Using a regular variable
  let count = 0;

  const increase = () =&gt; {
    count += 1;
  };

  const decrease = () =&gt; {
    count -= 1;
  };

  return (
    <div>
      <p>Count: {count}</p>
      <button onclick="{increase}">Increase</button>
      <button onclick="{decrease}">Decrease</button>
    </div>
  );
}

export default Counter;

结论

我希望你现在明白为什么 usestate 对于 react 中的状态管理至关重要。它允许 react 跟踪更改并相应地更新组件。感谢您的宝贵时间,我们很快就会见到您!