React 18 候选版本发布,不再支持 IE

目录
文章目录隐藏
  1. 升级到 React 18
  2. 不再支持 ReactDOM.render
  3. 服务器渲染 API 的更新
  4. 性能改进
  5. 不再支持 Internet Explorer

React 的下一个主要版本 React 18 现已作为候选版本 (RC) 提供。React 18 引入了由新的并发渲染器提供支持的功能,并为现有应用程序提供逐步迁移的策略。

升级到 React 18

npm install react@rc react-dom@rc

不再支持 ReactDOM.render

React 18 不再支持 ReactDOM.render,请改用 createRoot

// Before
import { render } from 'react-dom';
const container = document.getElementById('app');
render(<App tab="home" />, container);

// After
import { createRoot } from 'react-dom/client';
const container = document.getElementById('app');
const root = createRoot(container);
root.render(<App tab="home" />);

服务器渲染 API 的更新

  • 弃用 renderToNodeStream,改为 renderToPipeableStream
  • 新增 renderToReadableStream,用于边缘计算;
  • 可用,但有限 renderToString
  • 可用,但有限 renderToStaticMarkup

性能改进

超时, promise, 本地 event 也加入支持自动批处理,以减少工作渲染,若取消,请使用 flushSync

import { flushSync } from 'react-dom';

function handleClick() {
  flushSync(() => {
    setCounter(c => c + 1);
  });
  // React has updated the DOM by now
  flushSync(() => {
    setFlag(f => !f);
  });
  // React has updated the DOM by now
}

不再支持 Internet Explorer

在此版本中,React 将放弃对 Internet Explorer 的支持,该支持将于 2022 年 6 月 15 日停止。此更改的原因是 React 18 中引入的新功能是使用现代浏览器功能构建的,如需支持 Internet Explorer,建议继续使用 React 17。

「点点赞赏,手留余香」

0

给作者打赏,鼓励TA抓紧创作!

微信微信 支付宝支付宝

还没有人赞赏,快来当第一个赞赏的人吧!

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。
码云笔记 » React 18 候选版本发布,不再支持 IE

发表回复