1

我需要帮助弄清楚如何不让我的 react.js 组件从 Instagram 重新渲染相同的图像并将它们添加到视图中的现有图像中。

我的 react.js 组件中有一个react-instafeed容器,它从我的 Instagram 帐户中获取 20 张最新图像,并将它们呈现在一个整洁的网格中。react-instafeed元素是流行的instafeed.js框架的包装器,并在 react.js 环境中提供相同的方法和配置。

在初始加载时,它会获取图像并渲染它们。但是,如果当前路线被刷新(例如,通过按下标题导航中的按钮),它会再次获取所有 20 张图像并将它们添加到视图中,依此类推。

我尝试通过在 instafeed 的“成功”或“之后”方法中设置“已加载”之类的状态来处理它,但这显然不起作用并且是反模式。

我尝试使用 componentDidMount 来实现,结果是在初始渲染和 20x2 图像上一次调用了两倍的 http 调用。

显然,在这种情况下设置状态不是正确的策略。我怎样才能阻止该元素对 Instagram 进行第 n 次调用,或者在 componentWillUpdate() 上销毁该元素?

4

0 回答 0