react-dom/server 18.2.0为何不含renderToReadableStream?Node.js环境报错求助
解决React 18.2.0中
renderToReadableStream无法通过命名导入的问题 方案一:通过默认导入后解构
按照错误提示的方式,先导入整个模块再解构所需方法:
import pkg from 'react-dom/server'; const { renderToString, renderToReadableStream } = pkg; console.log({ renderToString, renderToReadableStream });
原因
react-dom@18.2.0的react-dom/server属于CommonJS(CJS)模块,renderToString作为传统服务端渲染API,已被适配为可通过命名导入获取;但renderToReadableStream是React 18新增的流式渲染API,在该版本的CJS模块中未被配置为命名导出,因此只能通过默认导入整个模块后再解构获取。
方案二:升级react-dom到18.3.0及以上版本
从react-dom@18.3.0开始,官方提供了原生ES模块(ESM)支持,此时可直接使用命名导入:
- 升级依赖:
npm install react-dom@latest react@latest
- 恢复原导入代码即可正常运行:
import { renderToString, renderToReadableStream } from "react-dom/server"; console.log({ renderToString, renderToReadableStream });
内容的提问来源于stack exchange,提问作者krutoo
相关产品推荐
相关产品推荐

