首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >这个useState函数是做什么的,怎么做的?

这个useState函数是做什么的,怎么做的?
EN

Stack Overflow用户
提问于 2021-07-29 04:41:19
回答 2查看 348关注 0票数 0

我一直试图理解react的useState钩子的工作原理,但是我无法理解它是如何实现的,比如在这个JavaScript代码中。

代码语言:javascript
复制
import React, { useState } from 'react';

function Example() {
  // Declare a new state variable, which we'll call "count"
  const [count, setCount] = useState(0);

 function onClick()
  {setCount(2)
   }

  return (
    <div>
      <p>{0}</p>
      <button onClick={onclick}>
        Click me
      </button>
    </div>
  );
}

useState被初始化为0,作为回报,我们得到一个变量及其初始值和函数来更新该值。

现在,这个函数如何在整个文档中找到值0,并返回函数来更新这个值(它是如何找到值的),以及setCount函数如何更新0到2,如何找到我们正在考虑的0。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2021-07-29 06:40:15

useState是一个反应钩。我们在函数组件中调用它来向该组件添加一些本地状态。

  • useState的唯一参数是初始值。
  • useState返回一对:当前值和允许我们用新值更新值的函数。
代码语言:javascript
复制
import React, { useState } from "react";

export default function Example() {
  // Declare a new piece of state with an initial value of 0
  const [value, setValue] = useState(0);
  // value - the current value
  // setValue - the function used to update the value

  return (
    <div>
      <p>current value: {value}</p>
      <button onClick={() => setValue(value + 1)}>Add 1 to value</button>
    </div>
  );
}

票数 0
EN

Stack Overflow用户

发布于 2021-07-29 04:59:43

useState是一个允许在功能组件中包含状态变量的Hook。该函数接受初始状态,并返回具有当前状态的变量和更新此值的另一个函数。

在下面的代码中,const [count, setCount] = useState(0);使用析构来获取useState的参数。第一个参数是初始值,第二个参数是更新初始值的函数。初始值可以是任何数据类型。按照惯例,作为第二个参数的函数的名称以set.Here开头,count的值最初设置为0。

在此代码中,单击按钮调用onclick函数,该函数依次称为setState,它更新count的值。React Hooks只适用于功能组件内部。

代码语言:javascript
复制
import React, { useState } from 'react';

import './style.css';

export default function App() {
  const [count, setCount] = useState(0);

  function onclick() {
    setCount(count + 2);
  }
  return (
    <div>
      <div>
        // rendering value of count
        <p>{count}</p>
        <button onClick={onclick}>Click me</button>
      </div>
    </div>
  );
}

工作实例

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68570151

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档