Ich habe Schwierigkeiten mit reactive Route 4, versuchen zu erraten, warum es nur im Hauptmodul funktioniert.React Router 4 funktioniert nur im Hauptmodul
Mein Code:
import React from 'react'
import ReactDOM from 'react-dom'
import { BrowserRouter as Router, Switch, Route } from 'react-router-dom'
import Enterprise from './containers/Enterprise'
import Provider from './containers/Provider'
import Home from './containers/Home'
let render =() => {
ReactDOM.render(
<Router>
<div>
<Switch>
<Route exact path="/" component={Home}/>
<Route exact path="/enterprises" component={Enterprise} >
<Route exact path="/providers" component={Provider} />
</Switch>
</div>
</Router>,
document.getElementById('root')
)
}
render()
Dies wird so bald aufhören zu arbeiten, als ich die Routen innerhalb AppContainer (leben in einer separaten Datei) erklären. Wie:
AppContainer.js
imports...
class AppContainer extends Component {
shouldComponentUpdate() {
return false
}
render() {
return (
<Header />
<Sidebar />
<main>
<Switch>
<Route exact path="/" component={Home}/>
<Route exact path="/enterprises" component={Enterprise} >
<Route exact path="/providers" component={Provider} />
</Switch>
</main>
<Footer />
)
}
}
export default AppContainer
main.js
imports...
let render =() => {
ReactDOM.render(
<Router>
<AppContainer />
</Router>,
document.getElementById('root')
)
}
Ich verwende webpack Module, aber nicht so mit dem Code Splitting ... Ich bin verwirrt. Ich habe im Internet nach Beispielen gesucht, die in getrennten Modulen funktionieren (auch wenn der Quellcode in einer einzigen Datei angezeigt wird).
Irgendwelche Hinweise?
Ist ' AppContainer 'auf jeden Fall eine Reaktiv-Hot-Loading-Komponente? Wenn dem so ist, denke ich, dass das falsch ist. Setzen Sie ' ' 'innerhalb AppContainer' und' Router' in 'App'. –
heyhugo
Ja, ich habe heiß nachladen. Und ich habe eine Komponente in AppContainer. Eigentlich wollte ich meine Seiten rendern, also versuche ich hier meine Routen zu definieren (oder sie zumindest als Requisiten zu übergeben, aber keiner der beiden Versuche funktioniert). –
mayid
Also habe ich HMR deaktiviert und es wird auch nicht funktionieren. – mayid