как я могу передать историю динамически созданным маршрутам, которые обернут другим компонентом
см. приведенный ниже фрагмент
import React, {Component} from 'react';
import {BrowserRouter as Router, Switch, Route } from 'react-router-dom';
import Loader from './Loader';
import RootComponent from './RootComponent';
import About from './About';
import Contact from './Contact';
class App extends Component{
state = {
loaderStatus: false,
dynamicRoutes: null
}
componentWillMount(){
this.setState({
loaderStatus: true
})
}
componentDidMount(){
let routes = () => {
let accessedRoutes = [{path:'about', component: () => <About />},{path:'contact', component: () => <Contact />}].map(o => {
return (
<Route
exact = {true}
path = {o.path}
component = {o.component}
>
</Route>
)
})
return accessedRoutes
}
setTimeout(() => {
let output = this.createRoutes(routes)
this.setState({
dynamicRoutes: output,
loaderStatus: false
})
}, 4000)
}
createRoutes = (routes) => {
return (
<RootComponent>
<Switch>
{routes}
</Switch>
</RootComponent>
)
}
render(){
return(
<Fragment>
{
this.state.loaderStatus ?
<Loader />
:
<Router>
{this.state.dynamicRoutes}
</Router>
}
</Fragment>
)
}
}
export default App;
// О.js
import React from 'react';
const about = (props) => {
console.info('props in about', props) // giving empty object
return (
<div>About</div>
)
}
export default about



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


Измените структуру accessedRoutes на [{path:'about', component:About}]. теперь вы можете получить доступ к реквизитам маршрутизатора
причина заключалась в том, что вы передавали анонимную функцию для маршрута, когда маршрут запускал любой компонент, который он вызывал, предоставляя функцию компонента с реквизитами маршрута, которые вы не получали и не передавали компоненту «О программе» на своем пути, вы также можете сделать это. [{path:'about', component:( route_props )=> <Abount { ...route_props } /> } ].
это сработало для меня. Спасибо за ответ :), но в чем была причина