It may allow beginners to taste the sweetness of not following the rules

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

还没有人认领这个 Issue。

评估

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

调研方向

从链接的 queueing-a-series-of-state-updates 页面开始,检查第一个挑战及其 state update 示例。重现 issue 中描述的延迟 setTimeout 变体,然后确定应在哪里添加注释来解释 functional updater 形式。当页面明确警告这种情况,并且挑战仍然易于理解时,即表示完成。

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

描述

type: documentation
Summary

https://react.dev/learn/queueing-a-series-of-state-updates

The first challenge in this chapter can still work normally even if it is written like this, because it relies on click behavior

async function handleClick() {
    setPending(pending + 1);
    await delay(3000);
    setPending(pending=>pending - 1);
    setCompleted(completed=>completed + 1);
  }

However, if it is changed to this, it will not work. At this point, we must change setPending(pending + 1) to setPending(pending => pending + 1)

async function handleClick() {
    setTimeout(()=> {setPending(pending + 1);}, 1000)
    await delay(3000);
    setPending(pending=>pending - 1);
    setCompleted(completed=>completed + 1);
  }
Page

https://react.dev/learn/queueing-a-series-of-state-updates

Details

Perhaps some annotations could be added

主要语言
JavaScript
星标
11.8k
派生
7.9k
平均合并
16 小时 6 分钟
30 天内合并 PR
7

贡献指南

打开贡献指南

从这里开始

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

reactjs/react.dev 的其他 Issue

查看 reactjs/react.dev 的全部 Issue

把新 issue 发到你的邮箱

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