with whats reducer react que medium funciona ejemplos como javascript reactjs redux react-router react-router-redux

javascript - whats - El reductor no captura la acción LOCATION_CHANGE



redux js ejemplos (2)

Estoy trabajando para que mi aplicación React / Redux actualice la URL en función de las acciones. He hecho un buen rato buscando. Pensé que tenía un control, pero obviamente me falta algo. Tengo otros reductores que responden correctamente.

Actualmente, solo intento registrar la acción.

Reductor de enrutamiento

const initialState = { locationBeforeTransitions: null }; export default function routing(state = initialState, action) { switch (action.type) { case ''LOCATION_CHANGE'': console.log(action) default: return state } }

Almacenar

/* Things from other people */ import { createStore, applyMiddleware, compose } from ''redux'' import { syncHistoryWithStore } from ''react-router-redux''; import { browserHistory } from ''react-router'' import thunkMiddleware from ''redux-thunk'' import createLogger from ''redux-logger'' /* Things from us */ import { fetchSuitesAndFails, fetchResults } from ''./actions/actions''; import rootReducer from ''./reducers/index'' const enhancers = compose( window.devToolsExtension ? window.devToolsExtension() : f => f ); const loggerMiddleware = createLogger() /* Store */ export const store = createStore( rootReducer, enhancers, applyMiddleware( thunkMiddleware, // lets us dispatch() functions loggerMiddleware // neat middleware that logs actions ) ); // Export the history so we can keep track of things export const history = syncHistoryWithStore(browserHistory, store); /* Enable Hot Reloading for the reducers We re-require() the reducers whenever any new code has been written. Webpack will handle the rest */ if (module.hot) { // Enable Webpack hot module replacement for reducers module.hot.accept(''./reducers/index'', () => { const nextRootReducer = require(''./reducers/index'').default store.replaceReducer(nextRootReducer) }) }

Índice

/* React router needs */ import { combineReducers } from ''redux'' import { routerReducer } from ''react-router-redux'' /* Reducers */ import suite from ''./suite'' import suitesandfails from ''./suitesandfails'' import routing from ''./routing'' /* Put them all together and return a single reducer */ const rootReducer = combineReducers({ suite, suitesandfails, routing, routing: routerReducer }) export default rootReducer



También puede importar la constante de la biblioteca.

import { LOCATION_CHANGE } from ''react-router-redux'' ... case LOCATION_CHANGE: console.warn(''LOCATION_CHANGE from your reducer'',action) return state