React Native,组件未关闭



我创建了一个带有react native和redux的购物应用程序,我面临的问题是,当用户单击"购买"时,它应该查看底部的一个组件,该组件将显示总额并查看购物车按钮,当用户从购物车中删除项目且购物车为空时,它应关闭/状态设置为false,但它不会消失。有人能告诉我出了什么问题吗?下面是我的代码reducer.js

if (action.type === SHOW_CART) {
let addedItem = state.jeans.find((item) => item.id === action.id);
if (addedItem == 0) {
return {
...state,
show: console.log(state.showCart),
};
} else {
return {
...state,
show: console.log(action.showCart),
};
}
}
const initialstate = {
showChart: false,
}

那是我的减速器,我在那里处理功能

action.js

export const showCart = (id) => {
return {
type: SHOW_CART,
showCart: true,
id,
};
};

这是我的行动,我把它描述为行动

ViewCart.js

<View>
{this.props.show ? (
<View style={styles.total}>
<Text style={styles.totaltext}>Total:</Text>
<Text style={styles.priceTotal}>{this.props.total}</Text>
<View style={styles.onPress}>
<Text
style={styles.pressText}
onPress={() => RootNavigation.navigate("Cart")}
>
View Cart
</Text>
</View>
</View>
) : null}
</View>
const mapStateToProps = (state) => {
return {
total: state.clothes.total,
show: state.clothes.show,
};
};

这就是我使用减缩的功能

在我看来,问题位于您的reducer.js文件中

if (action.type === SHOW_CART) {
let addedItem = state.jeans.find((item) => item.id === action.id);
if (addedItem.quantity > 0) {
return {
...state,
showCart: action.showCart, // here was the problem
};
}
}
const initialstate = {
showChart: false,
}

请试一下,告诉我发生了什么事。让我建议在您的if语句中添加另一个测试:if(addedItem&&addedItem.quantity>0(为了避免意外操作可能带来的麻烦

相关内容

  • 没有找到相关文章

最新更新