使用react路由器,redux将无法工作
With react-router, redux will not work
我读过很多类似的问题,但没有一个适合我。
关于
this.props.children并不总是从其父继承上下文
在上下文或道具中找不到"存储"
//store config
const createHistoryWithBasename = (historyOptions) => {
return useBasename(createHistory)({
basename: '/user_home'
})
}
const finalCreateStore = compose(
applyMiddleware(thunk, createLogger()),
reduxReactRouter({
createHistory: createHistoryWithBasename }),
devTools()
)(createStore);
export function configureStore(initialState) {
const store = finalCreateStore(rootReducer, initialState);
return store;
}
索引文件,所有路由嵌套在Provider中。
//entry file
let routes = (
<Route path="/" component={UserHome}></Route>
);
ReactDom.render(
<Provider store={store} >
<ReduxRouter>
{routes}
</ReduxRouter>
</Provider>,
rootElement
);
组件。我记录了this.props,没有dispatch属性。上下文的参数是一个空对象。
//user_home.js
class UserHome extends React.Component {
constructor(props, context){
//context is empty Object
super(props, context);
}
render() {
//this.props.dispatch is undefined
return (
<div className="container">
test
</div>
);
}
}
function mapStateToProps(state){
return state;
}
export default connect(mapStateToProps, {
pushState
})(UserHome);
也许,这是一个简单的问题,但它花了我很多时间。希望得到你的帮助。非常感谢。
也许我们可以将动作创建者注入连接
import * as ActionCreators from './actions/user_actions';
//we can use the actions in ActionCreators to dispatch the action.
export default connect(mapStateToProps, {
pushState: pushState,
...ActionCreators
})(Component);
的行动
//action file
export function xxAction(){
return dispatch =>{
dispatch({
type: 'XX_ACTION'
});
}
}
此解决方案适合在children组件中调度操作。存在一些局限性,期待更好的解决方案。
相关文章:
- Javascript:selenium Web驱动程序isDisplayed()不工作
- jQuery UI自动完成突然停止工作
- AngularJS UI路由器不能像ng路由器那样工作
- HTML5音频加载和播放获胜'我不能在iPad上工作
- JavaScript打印功能使日历停止工作
- Javascript.getHours()工作不正常
- 为什么这在IE中的工作方式与在Firefox中不同
- Dispatch()调用一个函数,但是.then()不调用;我不在React Redux上工作
- Redux - 繁重的工作应该在哪里发生 - 化简器,动作,容器或表示组件
- 让ReactTransitionGroup和Redux Simple Router协同工作
- 使用react路由器,redux将无法工作
- 为什么toggle不能在Redux中工作?
- 在Redux不工作的情况下调度操作,得到未捕获的typeError,说它不是一个函数
- Redux不工作时React的初始状态
- react redux中间件的流程是如何工作的
- 中间件的分派、下一步和排序在react redux中是如何工作的
- React使用redux动作在自己的模块中不工作
- Reactjs redux在页面刷新时存储状态.componentWillUnmount不工作
- ReactJS+Redux:为什么不;尽管安装了热装载机,但不会对其工作作出反应
- 为什么不是't反应路由器链路工作(ReactJS+Redux)