Я работаю над маршрутами для моего приложения rails / response и redux, но я не могу поместить Route
внутрь компонента Switch
, например:
<Switch>
<Route exact path="/" component={Splash} />
<AuthRoute path="/login" component={LoginFormContainer} />
<AuthRoute path="/signup" component={SignupFormContainer} />
<ProtectedRoute path="/home" component={HomeIndexContainer} />
</Switch>
Когда я пытаюсь сделать это, я получаю сообщение об ошибке:
Uncaught Error: Element type is invalid: expected a string (for built-in components) or a class/function (for composite components) but got: undefined. You likely forgot to export your component from the file it's defined in, or you might have mixed up default and named imports.
Я дважды проверил, и я действительно экспортирую и импортирую свой Splash
компонент правильным способом; и когда я попытался изменить Route
на AuthRoute
или ProtectedRoute
, он смог отрендерить. Есть идеи, почему это так?
Вот как выглядит мой компонент:
import React from 'react';
import { Link } from 'react-router-dom';
const Splash = () => (
<div className="splash-page">
<h1>Music for everyone.</h1>
<p>Millions of songs. No credit card needed.</p>
<Link to="/signup">{'Get Spotify Free'.toUpperCase()}</Link>
</div>
);
export default Splash;