React Native + Redux:Redux存储上的状态更改后应用未重新渲染

时间:2020-05-08 08:57:32

标签: arrays react-native redux react-redux

我在我的react本机应用程序上实现了一个典型的“收藏夹项”功能,其中显示了一个项列表,每个项上都有一个“心”图标。如果不喜欢该商品,则将显示“空心”图标,否则将显示“实心”图标。点击一个空的心脏图标时,该项目已正确添加到我的favCakes数组中,请参考下面的代码:

    renderFavHeart = () => {
       console.log('FAVCAKES', this.props.favCakes)
       //console.log('CAKE', this.props.cake)
       const { cake } = this.props;
       let isFav;
       if (this.props.favCakes.length !== 0) {
           isFav = this.props.favCakes.some(fav => cake.id === fav.cake)
           if (isFav) {
               return <Icon name="md-heart" onPress={this.handleUnfavCake} size={35} color="red" />
           }
           else return <Icon name="md-heart-empty" onPress={this.handleFavCake} size={35} color="red" />
       }
       else return <Icon name="md-heart-empty" onPress={this.handleFavCake} size={35} color="red" />
   }

以下是减速器上的相关代码:

favCakes: [...state.favCakes, action.payload]

我已经通过console.log验证了我的favCakes数组已正确更改(添加的项),但是并没有重新渲染屏幕,也就是说,按下该按钮后,空白图标仍然存在。仅当我重新启动应用程序时,它才会相应地更新。任何见识的人吗?预先感谢。

0 个答案:

没有答案