React App SyntaxError: использование зарезервированного слова let в строгом режиме в Safari - PullRequest
0 голосов
/ 19 февраля 2020

Я прочитал много статей о том, что 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 я вижу:

enter image description here

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...