为了账号安全,请及时绑定邮箱和手机立即绑定

React Native,redux 函数在更新后不会恢复到原始状态

React Native,redux 函数在更新后不会恢复到原始状态

慕尼黑5688855 2023-05-19 18:10:57
当用户将商品添加到购物车时,我创建了一个功能来查看每个屏幕下方的购物车详细信息,当用户删除功能时,购物车详细信息将再次隐藏,但是当我从购物车中删除商品时,购物车详细信息没有隐藏,有人可以告诉我出了什么问题,下面是我的代码减速器 if (action.type === SHOW_CART) {    let addedItem = state.addedItems;    if (addedItem === 0) {      console.log(addedItem);      return {        ...state,        show: state.showCart,      };    }   } const initialstate = {  showChart: false,  addedItems: [],}这是我执行该功能的 redux 代码,addItems 是我的购物车,它是空白数组行动export const showCart = (id) => {  return {    type: SHOW_CART,    showCart: true,    id,  };};这是我的行动查看购物车  {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}这是我的查看购物车详细信息,当用户将商品添加到购物车时我会显示购物车详细信息有人可以帮忙吗
查看完整描述

2 回答

?
largeQ

TA贡献2039条经验 获得超7个赞

你应该比较长度,你目前正在直接比较数组,所以它也会去错误的路径,所以先改变它。


if (action.type === SHOW_CART) {

    let addedItem = state.addedItems;

    if (addedItem.length === 0) {

      console.log(addedItem);

      return {

        ...state,

        show: state.showCart,

      };

    } else {

      return {

        ...state,

        show: action.showCart,

      };

    }

  }


查看完整回答
反对 回复 2023-05-19
?
守着一只汪

TA贡献1872条经验 获得超3个赞

在视图购物车中,


 {this.props.show && this.props.items.length >0 ? (

          <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}


const mapStateToProps = (state) => {

  return {

    total: state.clothes.total,

    show: state.clothes.show,

    items: state.clothes.addedItems,

  };

};



查看完整回答
反对 回复 2023-05-19
  • 2 回答
  • 0 关注
  • 143 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信