id
の値をreduxストアに追加するには、メソッドthis.props.addItemToCart(elem.id)
を呼び出していますが、動作しません。値は追加されません。 は、ここで私はここに示した質問に関連している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]ではありません。それであなたの質問に答えることはできません。 –