reaccionar-enrutador: compartir estado entre rutas sin Redux
Me gustaría tener un estado compartido (lista de clientes recuperados de forma remota) entre 2 rutas hermanas:Timesheets
yClients
.
Quiero probar hasta dónde puedo llegar con React 'puro' (arquitectura No Flux).
Este ejemplo funciona, pero tengo un error:browser.js:49 Warning: [react-router] You cannot change <Router routes>; it will be ignored
Por lo tanto, no parece gustarle los accesorios asíncronos.
constructor(props) {
super(props);
this.state = {
clients : []
}
}
componentDidMount() {
fetch("clients.json")
.then(response => response.json())
.then(clients => this.setState({ clients }));
}
render() {
return (
<Router history={browserHistory}>
<Route path="/" component={Header} >
<Route path="timesheet" component={() => (<Timesheets {...this.state} />) }/>
<Route path="clients" component={() => (<Clients {...this.state} />) }/>
</Route>
</Router>
);
}
¿Es posible enviar accesorios asíncronos a cada ruta?
¿O es posible establecer todo el estado en la ruta principal (Header
componente) y luego acceder a este estado desde cada ruta secundaria (Timesheets
yClients
componentes)?