Ich habe versucht, die Antwort auf this question, aber ohne Erfolg. Ich versuche zu verwenden, reagiere Router und verschachtelte Routen, um unterschiedliche Layouts abhängig von der Konfiguration des Routers zu rendern. Aber die Route mit path="/"
zeigt immer unabhängig von der URL, die vorhanden ist. Hier ist der Router, den ich verwende.Redux + Reagieren: reagiere Router nur Rendering Index Route
<Route component={App}>
<Route component={LayoutOne}>
<Route path="/" component={ComponentOne}/>
</Route>
<Route component={LayoutTwo}>
<Route path="category" component={ComponentTwo}/>
</Route>
</Route>
Und hier ist die App-Datei, die ich verwenden, um den Versand zu den Requisiten zuordnen und verbinden.
function mapStateToProps(state, ownProps){
return{
exampleProp: state.exampleProp,
};
}
function mapDispatchToProps(dispatch){
return bindActionCreators(actionCreators, dispatch);
}
const App = connect(mapStateToProps, mapDispatchToProps)(MainLayout);
export default App;
Hier ist das Hauptlayout MainLayout
wie oben zu sehen.
LayoutOne und LayoutTwo (wurde der Kürze halber weggelassen) sind einfache Klassenrapper wie folgt.
Exportstandardklasse LayoutOne erweitert Komponente { render() { return ( {this.props.children} ) } }
Und hier die ComponentOne und ComponentTwo jeweils nur einfache Komponenten .
Mein Problem ist, dass nur ComponentOne rendert, unabhängig davon, welche URL vorhanden ist. Wie behebe ich dieses Problem, damit ich verschachtelte Routen verwenden kann, wie oben gezeigt? Ihre Hilfe würde sehr geschätzt werden. Wenn Sie weitere Informationen benötigen, wenden Sie sich bitte und ich werde mein Bestes tun, um die Frage mit den erforderlichen Informationen zu aktualisieren. Danke.
Nur neugierig beheben - nicht mit '/ Category' Arbeit statt' Category'? –