大佬教程收集整理的这篇文章主要介绍了javascript – React / Redux:mapStateToProps实际上并没有将状态映射到props,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在项目上使用React和Redux,我在实现启用/禁用按钮的功能时遇到问题.我已经能够:
>触发一个方法
>让该方法触发动作创建者
>发送一个动作
>在reducer中捕获该动作并创建一个新的更新状态
>查看Redux DevTools中的更新状态
但是,启用/禁用功能仍然不起作用,因为似乎mapStateToProps和connect实际上并没有将状态映射到props.我正在跟踪canSubmit,它在状态内发生变化但在道具中未定义.成功将状态映射到道具我错过了什么?
相关代码:
UserFormView.js
const mapStateToProps = (state) => ({
routerState: state.router,canSubmit: state.canSubmit
});
const mapDispatchToProps = (dispatch) => ({
actions: bindActionCreators(ActionCreators,dispatch)
});
class UserFormView extends React.Component {
…
}
export default connect(mapStateToProps,mapDispatchToProps)(UserFormView);
操作:
export function enableSubmit(payload) {
return {
type: ENABLE_SUBMIT,payload: payload
};
}
export function disableSubmit(payload) {
return {
type: DISABLE_SUBMIT,payload: payload
};
}
Reducer(使用createReducer辅助函数):
const initialState = {
canSubmit: false
};
export default createReducer(initialState,{
[ENABLE_SUBMIT]: (state) => {
console.log('enabling');
return Object.assign({},state,{
canSubmit: true
});
},[DISABLE_SUBMIT]: (state) => {
console.log('disabling');
return Object.assign({},{
canSubmit: false
});
}
});
以上是大佬教程为你收集整理的javascript – React / Redux:mapStateToProps实际上并没有将状态映射到props全部内容,希望文章能够帮你解决javascript – React / Redux:mapStateToProps实际上并没有将状态映射到props所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。