我正在调用方法this.props.addItemToCart(elem.id)
以便将id
值添加到redux存储区,但它不起作用。没有值被添加。 这里有一个link to container
reducer
and an action_creator
code.
小摘要,所涉及到的问题,我在这里展示:Redux mapDispatchToProps方法无法正常工作
...
<Button onClick={() => this.props.addItemToCart(elem.id)}>
Add to Cart
</Button>
....
const mapDispatchToProps = (dispatch) => ({
getAPIData() {
dispatch(....,
addItemToCart(value) {
dispatch(addToCart(value));
},
removeItemFromCart(value) {
dispatch(removeFromCart(value));
}
});
export default connect(mapStateToProps, mapDispatchToProps)(ProductsList);
这里是减速机代码的一部分:
const handleCart = (state = initialState.addedIds, action) => {
switch (action.type) {
case ADD_TO_CART:
if (state.indexOf(action.productId) !== -1) {
return state
}
return [...state, action.productId];
case REMOVE_FROM_CART:
return state.filter(productId => action.productId !== productId);
default:
return state
}
};
您应该包含'Button'组件的完整代码。你确定'this.props'是指传入的道具吗?这是在类组件的'render'方法吗? –
是的,我使用控制台登录方法检查,它将一个值传递给控制台 –
你的代码不是[mcve]。所以不可能回答你的问题。 –