Я пытаюсь написать свои компоненты 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>