2015-09-20 12 views
29

Un Egghead esercitazione insegna in questo modo:reagire-router: corsa non è una funzione

var React = require('react'); 
var Router = require('react-router'); 
var routes = require('./config/routes'); 

Router.run(routes, function(Root){ 
    React.render(<Root />, document.getElementById('app')); 
}); 

Eppure ottengo questo errore:

Uncaught TypeError: Router.run is not a function

nota: Ho già aggiornato a react-router la versione recente.

risposta

38

Dopo il rilascio di React Router v1.0, il metodo run è stato rimosso, queste modifiche di interruzione sono documentate nella guida di aggiornamento. Il tuo codice sarebbe grosso modo di tradurre a questo:

ReactDOM.render(<Router>{routes}</Router>, document.getElementById('app')) 

https://github.com/rackt/react-router/blob/832c42946c874fe56ffde0066b1088054311cb98/CHANGES.md

+0

Corso! Curioso però, babel-loader lo mantiene in qualche modo funzionante? Perché ho aggiornato i tutorial react-router alla versione più recente ([email protected]) e il loro esempio funziona ancora con run. –

+0

forse dimenticato di riavviare il processo watch/build? – Eelke

+4

Le informazioni di aggiornamento sono ora sul [changelog] (https://github.com/rackt/react-router/blob/832c42946c874fe56ffde0066b1088054311cb98/CHANGES.md) – br3w5