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

Допустим, у меня есть два маршрута: /a/b, /a/b/d,

И у меня есть настроенный WrapperRoute, кажется, он всегда соответствует /a/b, когда в качестве местоположения я набрал /a/b/d,Вы можете попробовать с code-sandbox .

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

const routes = [
  {
    path: "/a/b",
    component: () => <div>Component A</div>
  },
  {
    path: "/a/b/d",
    component: () => <div>Component B</div>
  }
];

const App = () => (
  <Router>
    <div>
      <Link to="/a/b">/a/b</Link>
      <br />
      <Link to="/a/b/d">/a/b/d</Link>
      <Switch>
        {routes.map(route => {
          return (
            <WrapperRoute
              key={route.path}
              path={route.path}
              component={route.component}
            />
          );
        })}
      </Switch>
    </div>
  </Router>
);

render(<App />, document.getElementById("root"));

function WrapperRoute({ path, component: Page }) {
  return (
    <Route
      exact
      path={path}
      render={() => {
        return <Page />;
      }}
    />
  );
}

Мне интересно, почему это происходит, у меня exact определено реквизита

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