2016-07-08 7 views
2

Nach the documentation sollte ich in der Lage sein, ein Ereignis durch Aufruf push('/with/the/path') auslösen. Beispiel von docs:Wie feuere ich ein LOCATION_CHANGE Event für react-router-redux?

import { routerMiddleware, push } from 'react-router-redux' 

// Apply the middleware to the store 
const middleware = routerMiddleware(browserHistory) 
const store = createStore(
    reducers, 
    applyMiddleware(middleware) 
) 

// Dispatch from anywhere like normal. 
store.dispatch(push('/foo')) 

jedoch das sieht aus wie wenn ich rufe Push ich diese bekommen (was nicht sieht, wie es etwas tut):

enter image description here

Was bin ich fehlt?

+0

Die "push" -Helfer-Methode ist genau für diesen Zweck. Was ist Ihr Anwendungsfall, wenn Sie versuchen, es manuell auszulösen? Vielleicht gibt es Interna, die von der Push-Methode umschlossen sind, die Sie sonst nicht aufrufen können. –

+0

hast du 'syncHistoryWithStore'? – xiaofan2406

+0

@MarioTacke Ich versuche, zu einem anderen Teil der App umzuleiten. (d. h. "/ Profil") – drewwyatt

Antwort

2

Vergewissern Sie sich, Ihren Verlauf mit Ihrem Geschäft zu synchronisieren. Das Folgende ist ein Beispiel-Setup:

import { routerMiddleware, syncHistoryWithStore, push } from 'react-router-redux' 

// Apply the middleware to the store 
const router = routerMiddleware(browserHistory) 
const store = createStore(
    reducers, 
    applyMiddleware(router) 
) 
const history = syncHistoryWithStore(browserHistory, store) 

// Dispatch from anywhere like normal. 
store.dispatch(push('/foo')) 

Beachten Sie die wenig über syncHistoryWithStorenach Sie den Laden zu erstellen.

Hoffe, das hilft.

Verwandte Themen