繁体   English   中英

箭头函数组件中的全局变量

[英]Global variables in arrow function components

我是 REACT 的新手,所以如果我错了,请纠正我。 定义钩子时,我可以在我的箭头函数中使用该属性。 就像是:

const CrawlJobs = () => {
   const [crawlList, setCrawlList] = useState([]);
};

这里一切正常。 据我了解,使用 REACT 中的钩子是因为渲染内容知道数据何时发生更改并且可以更新 DOM。 但是如果我有一些没有在 UI 中使用的简单属性/变量怎么办。 我还应该将全局变量定义为钩子吗? 我尝试定义一个这样的变量:

const statusId = 0;

但是,这不能在我的箭头函数组件中全局使用,并且在下面执行时出现错误:

const this.statusId = 0;

所以我的问题是我应该总是将所有属性定义为钩子,还是只将变量定义为 REACT 中的标准变量? 如果不需要,我不想定义钩子。

你不需要创建一个函数来使用useState所以更正:

const [crawlList, setCrawlList] = useState([]);

功能组件不需要这个

你不需要在状态中定义你的变量,只要它们不影响应用程序 UI,组件状态通常用来通知 UI 有一个它关心的状态发生了变化,然后组件本身应该对变化做出反应基于状态。 下面是一个愚蠢的例子,只是为了演示:

import React, { useState } from 'react';
function Example() {
  const [count, setCount] = useState(0);
  const label = 'You clicked';
  return (
    <div>
      <p>{label} {count} times</p>
      <button onClick={() => setCount(count + 1)}>
        Click me
      </button>
    </div>
  );
}

所以拥有变量而不将它们绑定到状态是完全没问题的。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM