реагировать маршрут меняется, но html не рендерится, пока я не перефразирую sh страницу - PullRequest
1 голос
/ 15 апреля 2020
  import React, { Suspense } from 'react';
  import ReactDOM from 'react-dom';
  import { createBrowserHistory } from "history";
  import { Router, Route, Switch } from "react-router-dom";
  import indexRoutes from "./routes/index";
  import "./index.css";

  var hist = createBrowserHistory();

index. js

  ReactDOM.render(
        <Router history={hist}>
        <Suspense fallback={
        <div></div>}> 
            <Switch>
              {indexRoutes.map((prop, key) => {
                return <Route exact={prop.exact} path={prop.path} key={key} component={prop.component} />;
              })}
            </Switch>
          </Suspense>
        </Router>,
    document.getElementById("root")
  );

маршрутов. js - данные передаются в индекс. js

  import React from 'react';
  const Home = React.lazy(() => import('../views/Home.view'));
  const Auth = React.lazy(() => import('../views/Auth.view'));
  const Test = React.lazy(() => import('../views/test'));

  var indexRoutes = [
    { exact:false, path: "/test", name: "Test", component: Test },
    { exact:false, path: "/dashboard/", name: "Home", component: Home },
    { exact:true, path: "/", name: "Auth", component: Auth },
  ];

  export default indexRoutes;

база данных. js

внутри "/ приборная панель /" маршрут у меня ниже компонента. Здесь у меня есть другой внутренний маршрут для некоторых компонентов. Здесь, когда я иду по другому маршруту, хотя маршрут меняется, но html не рендерится. Но когда я обновляю sh страницу, которую рендерит компонент Базы данных , компонент NewReport появляется, когда я иду на / панель мониторинга маршрут, но Базы данных компонент не работает на / панель инструментов / базы данных / маршрут

Примечание: на refre sh страница, на которой работает компонент Базы данных

  <BrowserRouter>
  <Switch>
    <Route exact path='/dashboard' component={NewReport} />
    <Route exact path='/dashboard/databases/' component={Databases} />
  </Switch>
  </BrowserRouter>

1 Ответ

0 голосов
/ 15 апреля 2020

Прежде всего вы должны использовать только один Маршрутизатор во всем приложении, но вы используете два разных Маршрутизатора:

  • Маршрутизатор - внутри индекса. js
  • BrowserRouter - inside / dashboard

Вы должны удалить BrowserRouter, и это может исправить непредвиденное поведение

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