React 缓存渲染组件

Nic*_*ima 5 javascript caching reactjs

是否有任何开源代码或示例尝试在 memcached 或类似的东西上缓存渲染的 React 组件?有人已经处理过这个问题了吗?

Bre*_*ols 1

就像 FakeRainBrigand 建议的那样,您可以只保存 html。然而,React 的一个巧妙之处是每个组件都用状态/属性表示。这意味着如果您使用这些字段适当地表示您的 UI,您应该能够在给定相同状态/属性的情况下重现您的页面。

这可能意味着,如果您以某种方式存储状态/道具,并将其重新加载,您可以有效地“缓存”组件以供以后使用,而且成本非常低。我在想与下面类似的事情:

componentDidMount: function () {
    if(this.props.id) {
        provider.load(this.props.id, function (result) {
            this.setState(result);
        });
    }
}
Run Code Online (Sandbox Code Playgroud)

  • 但是,如果只是反应渲染非常慢并且在特定情况下不能使用 shouldComponentUpdate 该怎么办?假设我有一个排序问题,我有 1000 个整体要排序,在客户端对它们进行排序并将排序后的元素作为 prop 放入组件中速度很快,但每个组件还有 2 个其他组件,因此渲染可能会有点慢慢一点。 (4认同)