reactjs - 为什么从 16.x 升级到 React 17.x 会破坏我的功能?
问题描述
我将 React 升级到版本:
“反应”:“^17.0.2”,
现在,每当我运行命令npm run build
时,
我得到以下信息:
# npm run build
> gamerProfile@0.1.0 build
> react-scripts build
Creating an optimized production build...
Failed to compile.
./src/Header/Header.js
Syntax error: G:/Games/Manic/ClientApp/src/Header/Header.js: Unexpected token (33:9)
31 | }
32 | return (
> 33 | <>
| ^
34 | <a id="gamerProfilePage" href="#" onClick={handleClick}>Gamer</a>
35 | </>
36 | );
完整的功能是:
const RenderGamerLink = ({ onClick }) => {
function handleClick(ev) {
ev.preventDefault();
onClick && onClick()
}
return (
<>
<a id="gamerProfilePage" href="#" onClick={handleClick}>Gamer</a>
</>
);
}
我不确定为什么它可以与 React 16.x 一起使用,并且与 React 17.x 不兼容?
有什么我可以做的吗?
谢谢!
解决方案
<></>
并非所有工具都支持该语法,因此<React.Fragment>
如果它被破坏,请使用它。
您可以查看此页面以支持 Fragment 语法
推荐阅读
- vue-cli-3 - vue-cli - ERROR Error: Cannot find module 'websocket-driver'
- php - 调用 woocommerce_product_query 时需要重新加载页面两次
- javascript - Set state from another component React js
- node.js - 如何将 Dialogflow 响应异步发送到 Cloud-Pub-Sub
- apache-spark - 在独立节点上安装 Spark/Zeppelin
- javascript - JavaScript 代码可以在其他浏览器上运行,但不能在 IE11 上运行,为什么?
- cmake - 每个可执行文件的不同链接器选项
- php - 是否有 PHP 自动格式化程序可以格式化行使其不超过 120 个字符?
- c# - 如何使用统一从设备获得相对于地面的准确高度?
- angular - Angular 6中单例服务的多个实例化