【发布时间】:2020-06-03 07:25:48
【问题描述】:
我的 React App 在 Safari 中打开时遇到问题,尤其是我的私人路由。错误:
SyntaxError: Unexpected token 'const'
我有普通的root功能:
function App() {
return (
<Router history={history}>
<Switch>
<Route path="/" exact component={Home} />
<Route path="/login" component={Login} />
<PrivateRoute path="/dash" component={Dashboard} />
<PrivateRoute path="/filters" component={Filters} />
<PrivateRoute path="/profile" component={Profile} />
<PrivateRoute path="/map" component={Map} />
<PrivateRoute path="/bookmarks" component={Bookmarks} />
<PrivateRoute path="/client/:planID/:isLarge" component={Client} />
<PrivateRoute
path="/analyses/:planID/:isLarge"
component={Analyses}
/>
</Switch>
</Router>
);
}
问题出在这个 PrivateRoute 上,因为当我删除导入和标签时,它没有显示错误。这是我的私人路线文件:
import React from "react";
import { Route, Redirect } from "react-router-dom";
const PrivateRoute = ({ component: Component, ...rest }) => {
return (
<Route
{...rest}
render={props =>
sessionStorage.getItem("Token") ? (
<Component {...props} />
) : (
<Redirect to="/login" />
)
}
/>
);
};
export default PrivateRoute;
我怀疑返回中的某些内容不适合 Safari,但我不知道是什么。这也在 Chrome、Mozilla、IE 和 Edge 上以这种方式工作。只有 Safari 有问题。
更新:
【问题讨论】:
-
在return语句前试试这个;
const token = sessionStorage.getItem("Token")。然后在返回语句中,使用“令牌”进行登录检查。 -
@MwamiTovi 同样的问题
-
哦,真的!认为这会工作
标签: javascript ios reactjs safari