我正在調用方法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]。所以不可能回答你的問題。 –