小编Moh*_*gih的帖子

即使存在依赖关系,如何运行 useEffect 一次?为什么 ESLint 会抱怨它?

考虑以下示例:

const userRole = sessionStorage.getItem('role');
const { data, setData, type, setTableType } = useTable([]);

useEffect(() => {
  const getData = async () => {
    // fetch some data from API
    const fetchedData = await axios('..');
    
    if (userRole === 'admin') {
     setData([...fetchedData, { orders: [] }]);
    } else {
     setData(fetchedData);
    }
    
    if (type === '1') {
     setTableType('normal');
    }
  };
  getData();
}, []);
Run Code Online (Sandbox Code Playgroud)

我只想在安装时运行此效果,仅此而已,我不在乎userRole或是否setData已更改!

所以,现在我的问题是:

  1. 为什么 ESLint 抱怨userRole在依赖项数组中丢失?它甚至不是一个国家!
  2. 为什么 ESLint 抱怨setData在依赖项数组中缺少它是不是它总是相同的引用或者它是否会改变?
  3. 如何在不打扰 linter 的情况下实现我想要的?还是我应该直接打过去 …

reactjs react-hooks use-effect

8
推荐指数
2
解决办法
2162
查看次数

VSCode 中的 Typescript 和 Javascript 语言功能扩展导致我的笔记本电脑过热

自从我开始使用 VSCode 已经有一个月了,我喜欢它。但是,问题是当我启动该程序时,笔记本电脑的风扇开始发出相对较大的声音,所以我认为是因为同时运行了多个程序,但在尝试单独启动 VSCode 后,问题仍未解决。这是我迄今为止尝试过的:

  1. 禁用 GPU 加速。
  2. 禁用所有内置扩展,除了Typescript & Javascript language features extension(我没有安装任何额外的扩展)
  3. 尝试干净安装。

没有任何效果,但是当我尝试禁用Typescript & Javascript language features extension风扇时,风扇开始冷却。我什至检查了系统监视器。禁用上述扩展之前和之后 VSCode 的 CPU 使用率读数从 0% 跃升至 28% 至 30% 至 16%,并在应用程序运行期间保持在 9% 至 16% 之间跳跃。

我知道禁用这个扩展似乎很明显,我很高兴但我需要它,我的意思是我使用 VSCode 的重点是这个扩展。有没有人遇到过同样的问题,还是只有我遇到过?

PS:我使用的是 Ubuntu 18.04 LTS。

visual-studio-code

3
推荐指数
1
解决办法
1548
查看次数