reactjs / reactjs/react.dev

[Hooks] What is accepted on useEffect's 2nd argument

未关闭
#1,351 2 条评论 0 个 reaction 已指派 0 人 在 GitHub 查看

还没有人认领这个 Issue。

主要语言
JavaScript
星标
11.8k
派生
7.9k
平均合并
1 天 11 小时
30 天内合并 PR
11

描述

I assume currently it only do equal (===) comparison, since passing array of array isn't preventing it.

import React, { useState, useEffect } from 'react';

export default () => {
  let [count, setCount] = useState(0);
  let guard = [0, 1, 2];
  useEffect(() => {
    setTimeout(() => {
      setCount(count + 1);
    }, 2000); // delay to prevent lagging
  }, [guard]);
  return <div>{count}</div>;
};

I don't find anything in current documentation. I think it is needed to add accepted types passed into that 2nd argument.

On side note, I wonder what In the future, the second argument might get added automatically by a build-time transformation. phrase means.

贡献指南

打开贡献指南

从这里开始

  1. 先读完整个 Issue,再读项目的贡献指南。
  2. 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
  3. Fork 仓库,在一个分支上完成修改。
  4. 提交 Pull Request,并在描述里引用这个 Issue 编号。

调研方向

从 useEffect 文档的入口和 issue 中的 nested-array 示例开始;确认第二个参数接受什么,以及文档如何描述 dependency 比较。还要解释引用的关于 build-time-transformation 的句子。完成的标准是文档清楚地回答这两个问题,包括该示例的行为。

由索引模型根据 Issue 内容生成。

评估

技术栈
javascript, react
领域
documentation
Issue 类型
文档
难度
3/5
预计耗时
1-2 天
活跃度
停滞
描述清晰度
基本清楚
新手友好度
38/100

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。