Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

技术充电React18 #64

Open
Topppy opened this issue Apr 15, 2022 · 1 comment
Open

技术充电React18 #64

Topppy opened this issue Apr 15, 2022 · 1 comment
Milestone

Comments

@Topppy
Copy link
Owner

Topppy commented Apr 15, 2022

React18

React 18 超全升级指南

  • ReactDOM.render替换为createRoot,影响范围:第三方组件库。
  • setState的同步异步breakChange
  • useSyncExternalStore:订阅外部数据 & 解决tear问题
  • 想深入理解的话:https://www.zhihu.com/question/502917860
  • 什么是tear(撕裂):https://github.com/reactwg/react-18/discussions/69,
  • 简言之:在fiber的分块更新时域不连续性前提下,并发存在多源修改数据的可能性,等你第二次接着渲染的时候,数据可能被人改了,同一render内两块渲染的数据不一致。

如何升级到react18

  • 关于strictMode的变化
  • 不再支持IE

配合React Conf 2021食用
Concurrent React for Library Maintainers

hooks:

文章&工具

@Topppy
Copy link
Owner Author

Topppy commented Apr 15, 2022

感想

从新的hook可以窥探到,react的发展越来越不像一个 UI 库了,有了更复杂&难以理解的设计理念,甚至明明白白的告诉你:“哪些特性普通开发者不用关心,只需要使用react给你的一般API就可以,复杂的事情我们我们已经帮你处理好了”。

React的用户被分层了。一部分普通用户学会 how to use, 一部分库开发者要学会 why and how to make it right and fast。

不变的是react那个核心的设计思想(仅本人感受到的):用技术抹平人的差异性,让更多的人可以低成本的 产出 高性能的结果。这或许是一种研发的工业化?

工人分化为:点点点机器的工人和研发机器的工人。

@Topppy Topppy changed the title 技术充电22-04-15 技术充电React18 May 10, 2022
@Topppy Topppy added this to the publish milestone Oct 13, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant