如果您有像Facebook这样的Feed,则需要在用户滚动时从视图中卸载帖子。我们使用无尽的滚动条来做到这一点。但是,这需要我们管理节点而不是React,这会导致同步问题。以前,这些节点是绑定到数据更改的Backbone视图。但是,当有很多帖子并且只有1个收到“喜欢”时,重要的是只能在无限卷轴中重新播放喜欢的帖子而不是其他人的100个,尤其是移动设备。
保持无限滚动节点(与其父组件相对分离)的最佳方法是什么?我能想到的3个解决方案是......
prevProps
)并更新必要的子节点。 但是,这会执行O(n)深度比较。
let select = reselect.createSelector(state => state.var, var => ({ var }))
let ReduxChildComponent = ReactRedux.connect(select)(ChildComponent)
...
<Provider store={store}>
<ReduxChildComponent />
</Provider>
所以道具只有在改变时才触发改变。 我不确定初始化其中许多内容时<Provider>
的效率如何。 (3)看起来对我来说是最好的解决方案。有没有人对此有更多的了解?