Реагировать на заголовок и нижний колонтитул маршрутизатора, показывая, но не содержимое страницы при обновлении - PullRequest
0 голосов
/ 28 марта 2019

Я использую реагирующий маршрутизатор, и когда страница загружается нормально, если я перехожу туда с другой страницы, но если я обновляю страницу или печатаю URL-адрес, только <Header /> и <Footer /> рендер.

Страница, о которой идет речь, /admin/messageRules/all. Вот мой код роутера:

import React from "react";
import {Redirect, Route, BrowserRouter as Router, Switch} from "react-router-dom";

import Footer from "./components/Footer";
import Forgot from "./components/Forgot";
import Header from "./components/Header";
import Home from "./components/Home";
import Login from "./components/Login";
import MessageRules from "./components/MessageRules";
import PrivacyPolicy from "./components/PrivacyPolicy";
import Register from "./components/Register";
import Reset from "./components/Reset";
import TermsOfUse from "./components/TermsOfUse";

export const App = () => (
    <Router>
        <div>
            <Header />
            <Switch>
                <Route exact path="/admin" component={Home} />

                <Route path="/admin/messageRules/all" component={MessageRules} />
                <Route path="/PrivacyPolicy" component={PrivacyPolicy} />
                <Route path="/TermsOfUse" component={TermsOfUse} />

                <Route path="/Register" component={Register} />
                <Route path="/Login" component={Login} />
                <Route path="/Forgot" component={Forgot} />
                <Route path="/Reset" component={Reset} />
            </Switch>
            <Footer />
        </div>
    </Router>
);

export default App;

Обновление

Консоль печатает эту ошибку:

error:  SyntaxError: Unexpected token < in JSON at position 0
    at Navbar._callee$ (Navbar.jsx:31)
    at tryCatch (runtime.js:45)
    at Generator.invoke [as _invoke] (runtime.js:271)
    at Generator.prototype.(anonymous function) [as next] (http://localhost:1337/front.js:46313:21)
    at asyncGeneratorStep (asyncToGenerator.js:3)
    at _next (asyncToGenerator.js:25)

1 Ответ

0 голосов
/ 28 марта 2019

Проблемы были с expressjs.У меня было:

app.get("/admin", (req, res, next) => { ... });

и я изменил его на:

app.get("/admin*", (req, res, next) => { ... });

Причина ошибки, на которую ссылается Navbar, заключалась в том, что он каким-то образом пытался отрендерить некоторый код с целевой страницысайт а не админ.

Спасибо за помощь!

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