簡體   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