我阅读了很多有关Safari 5.1较旧的文章,而该错误是由它引起的-Safari的这个旧版本不支持ES6。但是我有一个用react-create-app创建的大型应用程序,除了这部分代码外,没有任何问题:
import React from "react";
import { Route, Redirect } from "react-router-dom";
function PrivateRoute({ component: Component, ...rest }) {
return (
<Route
{...rest}
render={function(props) {
return sessionStorage.getItem("Token") ? (
<Component {...props} />
) : (
<Redirect to="/login" />
);
}}
/>
);
}
export default PrivateRoute;
这是私人路线,在Safari控制台中,我看到:
不确定如何更改我的代码,以避免此让Component = _ref.component 。我尝试以这种方式传递参数{Component,... rest},但是效果是相同的。更重要的是-当我删除Component + case时,会出现相同的错误提示。有什么想法可以更改代码以使Safari能够读取它吗? 附注:该代码在所有其他浏览器上都能正常工作。