【问题标题】:Flux/React design patternFlux/React 设计模式
【发布时间】:2015-04-07 21:24:06
【问题描述】:

我正在编写一个小型 Flux/React 应用程序,它将在图库中显示图像。我在 Flux 商店中有一个计时器,它每 30 秒从 Web 服务中提取新图像并将它们添加到商店中的列表中,然后发出更改,以便视图可以呈现新照片。

我已经完成了所有这些工作,但现在我想弄清楚如何将一些 css 专门添加到添加的最新图像中,但是我不确定将其传达给从商店看,没有变得非常笨拙......

【问题讨论】:

    标签: javascript reactjs reactjs-flux


    【解决方案1】:

    您可以在商店发送更新消息时跟踪更改。

    store.addChangeEventListener((images) => {
      var last = this.state.newImageUrls || {};
      var now = {};
    
      images.forEach(function(img){
        if(!last[img.src]) now[img.src] = true;
      });
    
      this.setState({newImageUrls: now, images: images});
    });
    

    然后在渲染中检查给定的图像 src 是否是新的:

    var newImages = this.state.newImageUrls;
    ...
    images.map(function(x, i){
      return <img src={x.src} className={newImages[x.src] ? "new" : ""} />
    });
    

    【讨论】:

      猜你喜欢
      • 2017-12-04
      • 2016-10-20
      • 1970-01-01
      • 2015-07-01
      • 2021-04-09
      • 2015-06-26
      • 2018-01-22
      • 2015-07-23
      • 2020-11-29
      相关资源
      最近更新 更多