React TypeError: недопустимая попытка деструктурировать не повторяемый экземпляр на маршрутизаторе - PullRequest
0 голосов
/ 21 февраля 2020

Я пытаюсь написать свои компоненты PrivateRoute, но когда я пытаюсь работать, я получаю

"TypeError: Invalid attempt to destructure non-iterable instance" 

при объявлении. Я потратил много времени, пытаясь понять это. Вот мой код:

import React, { useContext } from "react";
import { Route, Redirect } from "react-router-dom";
import { AuthContext } from "../context/auth";
import  Login  from "../pages/Login";

export const PrivateRoute = ({component, ...options}) => {  <------- ERROR LINE

  const [state, dispatch] = useContext(AuthContext);
  const finalComponent = state.isAuthenticated ? component : Login;

  return (   
     <Route {...options} component={finalComponent} />
  );

};

, и я вызываю мое приложение с:

<AuthProvider>

       <Router>

        <Switch>
          <Route exact path="/" component={Login} />
          <Route exact path="/login" component={Login} />
          <PrivateRoute exact path="/dashboard" component={Dashboard} />
        </Switch>
      </Router> 

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