要在动作创建器中获取访问参数,您应该传递它:
在组件中
this.props.someAction(this.props.params)
在行动创造者
const someAction = (params)=>{
let {data} = params;
....
}
要在选择器中获取访问参数,您应该传递它:
在组件中
const mapStateToProps=(state, ownProps)=({
data:someSelector(state,ownProps.params)
})
在选择器中
const someSelector=(state, params)={
..some computing
return result
}
从 getState() 访问路由器的参数、路径名和查询:
你需要安装redux-router
如果你已经在使用它,请检查
1.路线
import { ReduxRouter } from 'redux-router';
<Provider store={store}>
<ReduxRouter>
<Route path="/" component={App}>
//...routes
</Route>
</ReduxRouter>
</Provider>
2.减速器
import { routerStateReducer } from 'redux-router';
const reducer = combineReducers({
router: routerStateReducer,
...
});
3.商店增强器
import { reduxReactRouter} from 'redux-router';
import { createHistory } from 'history';
import { compose, createStore, applyMiddleware } from 'redux';
const store = compose(
applyMiddleware(m1, m2, ...),
reduxReactRouter({
createHistory
})
)(createStore)(reducer);