首页 > 解决方案 > 为什么从 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 不兼容?

有什么我可以做的吗?

谢谢!

标签: reactjs

解决方案


<></>并非所有工具都支持该语法,因此<React.Fragment>如果它被破坏,请使用它。

您可以查看此页面以支持 Fragment 语法


推荐阅读