По какой-то причине роут не добавляется в приложение
component.jsx
import { Route, Switch } from 'react-router-dom';
export default props => (
<div className="App main-content">
<Switch>
{props.admin.routes.length
? props.admin.routes.map((route, i) => (
<Route
exact
key={i}
path={route.path}
component={route.component}
/>
);
)
: null}
</Switch>
</div>
);
props.admin.routes
react devTools
Т.е. в пропсах есть данные, но они почему-то не рендерятся. С чем это может быть связано?
В корне приложения есть BrowserRouter
, с этим все нормально
Попробуйте следующий код:
import React from 'react';
import { Route, Switch } from 'react-router-dom';
export default ({ admin: { routes = [] } = {} }) => (
<div className="App main-content">
{routes.length ? (
<Switch>
{routes.map(({ path, component }, i) => (
<Route exact key={i} path={path} component={component} />
))}
</Switch>
) : null}
</div>
);
Возможные причины проблемы:
<Switch />
рендерится пустой, в случае когда
props.admin.routes.length === false
component
для <Route />
передают
jsx а не саму сущность реакт компонентаАйфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Хотите улучшить этот вопрос? Переформулируйте вопрос, чтобы он соответствовал тематике «Stack Overflow на русском»
Написал простой пример с изменением объекта в функции при передаче по ссылкеhttps://plnkr