Я прочитал много статей о том, что Safari 5.1 старый, и эта ошибка вызвана этим - эта старая версия Safari не поддерживает ES6. Но у меня действительно большое приложение, созданное с помощьюact-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 я вижу:
Не уверен, как изменить мой код, чтобы избежать этого let Component = _ref.component . Я попытался передать аргументы таким образом {Component, ... rest}, но эффект тот же. Еще больше - когда я удаляю Компонент + регистр взамен, возникает такая же ошибка для остальных. Есть идеи, как я могу изменить свой код, чтобы Safari мог его прочитать? PS: код работает нормально для всех других браузеров.