я хочу вложить маршрутизатор, но он не работает
app.js
ReactDOM.render(
<Router>
<div className = "app">
<Route exact path = "/" component = {Home}/>
<Route path = "/rocket" component = {Example}/>
</div>
</Router>,
document.getElementById('app')
);
Пример.js
class Example extends React.Component {
render() {
return (
<div>
<Switch>
<Route path = {'/'} component = {A}/>
<Route path = {'/b'} component = {B}/>
)
}
}
localhost:3000/rocket/b не работает, не найден так что я исправляю, но не работает.. не знаю
@ryandrewjohnson я сделал это, но не работает, роутер браузерроутер..
Это только у меня или у вашего компонента <Switch> нет закрывающего тега? Если все в порядке, отредактируйте окончательный код, чтобы мы могли проверить, в чем ошибка.
@kekeee Если вы можете предоставить фрагмент рабочего кода, это очень поможет в отслеживании проблемы. Также, как и в одном упомянутом комментарии, Switch нуждается в закрывающем теге, поэтому трудно дать ответ с неполным фрагментом.





Проблема может быть на стороне сервера. Расскажите мне, что вы используете для создания приложения.
Сервер разработки должен обслуживать сгенерированный index.html для каждого пути, будь то '/' или '/b'. В противном случае, когда браузер нажимает /b, он ищет файл с именем b.html.
похоже на сервер разработки с реагирующим маршрутизатором dom v4
пример для вебпака
devServer: {
historyApiFallback: true
}
Свойство пути ожидает весь путь, например.
/rocket/bвместо просто/b. Вложение одного компонента с маршрутами внутрь другого компонента с маршрутами никак не повлияет на значение пути.