React - 如何在分布式系统中执行快速重新渲染
React - How to perform fast re-rendering in a distributed system
所以我在用 React 编码,
据我所知,每次用户在实时分布式系统(例如我正在使用的 Firebase)中进行本地更新时,都需要先调用更新 Firebase,然后如果成功,则调用一个新对象(旧对象 + 我们在本地推送的新数据)可以从 Firebase 发送回 React 的商店,然后应用程序将使用该对象从应用程序的顶级组件开始重新呈现。
但感觉我的理解有问题,因为完整的重新渲染似乎很慢。我想到了 ajax 只更新需要更新的部分的情况,所以更新很顺利。
那么我 return 整个对象并完全重新渲染它还是只使用成功事件继续并将该数据添加到它所属的存储区?(我是假设只会导致仅重新渲染受更改影响的组件?)
在 Reactjs 中,处理此问题的方法是 return 整个对象并将其传递给应用程序,与第一个响应相同。但是,您的每个组件都应实现 shouldComponentUpdate
以确定新数据是否需要它自行更新。如果不需要,它 returns false 并且 UI 的那部分不会重新呈现。
这使应用程序的代码更简单,因为它总是做同样的事情,您不必担心零碎的数据响应。然而 shouldComponentUpdate
的实现可能会变得复杂。
所以我在用 React 编码, 据我所知,每次用户在实时分布式系统(例如我正在使用的 Firebase)中进行本地更新时,都需要先调用更新 Firebase,然后如果成功,则调用一个新对象(旧对象 + 我们在本地推送的新数据)可以从 Firebase 发送回 React 的商店,然后应用程序将使用该对象从应用程序的顶级组件开始重新呈现。
但感觉我的理解有问题,因为完整的重新渲染似乎很慢。我想到了 ajax 只更新需要更新的部分的情况,所以更新很顺利。
那么我 return 整个对象并完全重新渲染它还是只使用成功事件继续并将该数据添加到它所属的存储区?(我是假设只会导致仅重新渲染受更改影响的组件?)
在 Reactjs 中,处理此问题的方法是 return 整个对象并将其传递给应用程序,与第一个响应相同。但是,您的每个组件都应实现 shouldComponentUpdate
以确定新数据是否需要它自行更新。如果不需要,它 returns false 并且 UI 的那部分不会重新呈现。
这使应用程序的代码更简单,因为它总是做同样的事情,您不必担心零碎的数据响应。然而 shouldComponentUpdate
的实现可能会变得复杂。