У меня есть следующее на моем index.js
<Router routes = {routes} />
I would like to have routes section in a separate file, so far I tried this:
routes.js
export default (
<div>
<Route path = "/" component = {AppComponent}>
<Route path = "/someother" component = {AddProductComponent} />
</Route>
<Route path = "/products" component = {ListProductComponent} />
</div>
);
и в index.js
import routes from './routes';
<Router routes = {routes} />
По какой-то причине приложение теперь отображается пустым. похоже, что маршруты не отображаются.
ОБНОВЛЕНИЕ, это весь мой index.js, за исключением отсутствующего импорта из-за компоновки stackoverflow о слишком большом количестве кода:
const rootReducer = combineReducers({
products: productReducer,
});
const store = createStore(
rootReducer,
applyMiddleware(thunk),
);
ReactDOM.render(
<Provider store = {store}>
<Router routes = {routes} />
</Provider>
, document.getElementById('root')
);
Обновить route.js
export default (
<Switch>
<Route exact path = "/" component = {AppComponent}/>
<Route path = "/products" component = {ListProductComponent}>
<Route path = "/details/:productId" component = {AddProductComponent} />
</Route>
</Switch>
);



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


Вам не хватает переключателя:
<Switch>
<Route path = "/someother" component = {AppComponent}>
<Route path = "/products" component = {ListProductComponent} />
<Route path = "/" component = {AppComponent}>
</Switch>
Кроме того, ваш код будет отображать только AppComponent, так как любой URL-адрес (/, /home, /etc) начинается с косой черты, которую вы поместили в атрибут path. Вы можете захотеть это как последнюю страницу, запасной вариант.
Атрибут path работает с подстановочным знаком: path = "/" -> path = "/**" функционально одинаковы. Если вам нужен точный путь, добавьте exact в Route.
Если вы хотите разделить маршруты на отдельные файлы, вы можете сделать это:
<Switch>
<Route path = {"/user"} component = {UserRouter}/>
<Route path = {"/product"} component = {ProductRouter}/>
</Switch>
// In userRouter.jsx:
export function UserRouter() {
return <Switch>
<Route exact path = {"/user/list"} component = {UserListPage}/>
<Route exact path = {"/user/signup"} component = {userSignupPage}/>
<Route exact path = {"/user/profile"} component = {UserProfilePage}/>
</Switch>
};
Развернул мой ответ. Если у вас есть пустая страница, скорее всего, у вас есть ошибка.
я проверяю инструмент разработчика, в консоли нет ошибок, просто отображается эта пустая страница, ты мне просто нужен один файл для всех маршрутов, а не для каждого объекта один файл маршрута
все еще пустая страница