reactjs - React.lazy() 是否适用于 Create React App?
问题描述
我使用npx create-react-app my-app cmd(React 17 版本)创建了一个 React 应用程序。现在好吧,我只是尝试替换经典
import Component from './Component'
to
const Component = React.lazy(() => import('./Component'));
and then
<React.Suspense fallback={<div>Loading.. </div>}>
<Component />
</React.Suspense>
但它会引发类似 SyntaxError: Unexpected token at import(6:22) 的错误
> 6 | const Component = React.lazy(() => import('./Component'));
谁能帮我解决这个问题?
我的 package.json 看起来像
解决方案
我不确定这是否能解决您的问题,但也许您可以尝试一下。你在用Babel
吗?
它说:
使用 Babel 时,您需要确保 Babel 可以解析动态导入语法但不会对其进行转换。为此,您将需要@babel/plugin-syntax-dynamic-import。
https://reactjs.org/docs/code-splitting.html#import
我在.babelrc
项目根目录上创建了一个文件并添加了内容:
{
"plugins": [
"@babel/plugin-syntax-dynamic-import"
]
}
我还导入lazy
了我的组件:
import React, { Component, lazy, useEffect, useState } from 'react';
在我的项目React.lazy
中以这种方式工作正常。
推荐阅读
- javascript - nginx javascript模块持久化
- react-native - 当 onChangeText 已经在使用时,有没有办法用 textinput 设置状态?
- powerbi - 我可以在 pbix 中使用雪花模式吗?
- angular - 尝试以角度发布数据时出现未知错误
- javascript - Mongoose 自动改变值的类型
- python - python defaultdict如何使用它而不是函数
- java - Swing/AWT/JavaFX GUI 冻结/NullPointerException
- drools - 异常“无法解析 ObjectType 'getAmount'”
- javascript - 将二维单词数组转换为单个数组
- testing - “全局”父选择器:将任何选择器的范围限制为某个父选择器