我正在关注react和Django教程,单击add to cart
按钮时我一直遇到问题。
数据数组和数据均未存储
操作中/cart.js
export const fetchCart = () => {
return dispatch => {
dispatch(cartStart());
authAxios
.get(orderSummaryURL)
.then(res => {
dispatch(cartSuccess(res.data));
})
.catch(err => {
dispatch(cartFail(err));
});
};
};
在 Layout.js
中const mapStateToProps = state => {
return {
authenticated: state.auth.token !== null,
cart: state.cart.shoppingCart,
loading: state.cart.loading
};
};
const mapDispatchToProps = dispatch => {
return {
logout: () => dispatch(logout()),
fetchCart: () => dispatch(fetchCart())
};
};
export default withRouter(
connect(
mapStateToProps,
mapDispatchToProps
)(CustomLayout)
);
在ProductList.js中,
handleAddToCart = slug => {
this.setState({ loading: true });
authAxios
.post(addToCartURL, { slug })
.then(res => {
console.log(res.data);
this.setState({ loading: false });
})
.catch(err => {
this.setState({ error: err, loading: false });
});
};
ProductList.js 中的AddToCart按钮,
<Button
primary
floated="right"
onClick={() => this.handleAddToCart(item.slug)}
>
Add to Cart
<Icon name="right shopping bag" />
</Button>