写点什么

React 新提案 useEvent 已死?不,它将涅盘重生。

作者:清秋
  • 2022 年 9 月 29 日
    江苏
  • 本文字数:915 字

    阅读完需:约 3 分钟

React 新提案 useEvent 已死?不,它将涅盘重生。

2022 年 9 月 28 日,React 团队核心成员 Dan Abramov 关闭了在今年 5 月 4 日的 useEvent RFC 提案,完整提案详情见:useEvent 提案



2022 年 9 月 29 日更新,本文原标题为《React 新提案 useEvent 已死》。Dan 也注意到了社区中很多谈论 useEvent “已死”的声音,特地做了澄清,虽然本提案已关闭,但是并不意味着 React 团队全盘否定了 useEvent 的提案,后续将会在下一个 RFC 上使用相同 API,略微不同的推荐用法和语义,以及一个可能的新名字。详情见下图:



以下是原文

useEvent 提案 描述:


2022-09-28 Dan 关于提案关闭的说明:


原文翻译如下:


大家好,感谢大家的讨论!我们在 facebook/react#25229  中实现了一个 useEvent 原型,你可以在 @experimental 版本中使用它。但是我们也意识到,我们没有信心将两种不同的动机(渲染优化和“修正” Effects)耦合在一个提案下。


特别是,我们担心这个建议会产生强烈的动机,让更多开发者将当前使用 useCallback 包裹的函数都替换成 useEvent。然而,在函数本身很重要的情况下,使用 useEvent 会导致不正确的语义。因为 useEvent 会”擦除“流入其值的响应性,我们认为需要对在何处合理使用 useEvent 进行额外的限制。在大多数情况下,只有最终的消费方(例如来自事件函数调用的 Effect)才能“确定” 它是否“关心”函数值的响应性。因此,广泛使用 useEvent 似乎为时过早。


对于渲染优化,我们研究开发了一个自动记忆编译器。目前尚不清楚此 RFC 中描述的优化在使用该编译器时是否仍然有效,因此我们将重新审视这个问题,并作为正在进行的研究的一部分。我们可能考虑的这种模式也有其他可选优化方式。


现在,我们想搁置当前的 RFC,计划发布一个不同的、范围更小的 RFC 来取代这个 RFC。由于新的 RFC 的作用域不同,我们也许会给 useEvent 一个不同的名字。


注: RFC(Request For Comments),征求修正意见书。React 团队的 RFC 流程:无论是 React 官方团队还是其他人想要对 React 做出大量变化,或者添加新特性时,都需要撰写一个提案,提案里面需要包含动机的详情和该提案如何工作的详细设计。




结语:


useEvent 已死,useXXX 将重生。更多关于 useEvent 提案,可以参考黄子毅老师的 【精读 《React useEvent RFC》】


发布于: 刚刚阅读数: 7
用户头像

清秋

关注

Failure Is an Option, but Fear Is Not. 2018.10.18 加入

SDE @ CMBC,InfoQ 写作平台签约作者,公众号: Frontend Radio。一个有着教师梦的 Web 前端非典型程序员。业余画家、设计师、写手,PMP,数据挖掘背景。北邮硕士毕业后一直在某股份制银行软件开发部工作。

评论

发布
暂无评论
React 新提案 useEvent 已死?不,它将涅盘重生。_React_清秋_InfoQ写作社区