Reactjs 以组件状态存储大数据

Reactjs 以组件状态存储大数据,reactjs,performance,state,Reactjs,Performance,State,将大型阵列保持在React组件的状态会导致内存泄漏或性能问题吗?我不是从同一个渲染,但需要获取大量数据并在渲染子对象之前对其进行处理。由于相同的数据将用于向用户显示按键事件的结果,并且需要通过网络获取,因此我将其保持在状态(从空数组更改为填充数组) 我说的是长度约为1000的嵌套数组,每个数组包含长度约为10的嵌套数组。我不确定问题的存储部分,但根据经验,我发现显示大量来自状态的行会带来巨大的性能问题,尽可能将页面完全冻结在500行左右,因此确保不管怎样都懒散地显示信息。只是存储一个大数组以防止

将大型阵列保持在React组件的状态会导致内存泄漏或性能问题吗?我不是从同一个渲染,但需要获取大量数据并在渲染子对象之前对其进行处理。由于相同的数据将用于向用户显示按键事件的结果,并且需要通过网络获取,因此我将其保持在状态(从空数组更改为填充数组)


我说的是长度约为1000的嵌套数组,每个数组包含长度约为10的嵌套数组。

我不确定问题的存储部分,但根据经验,我发现显示大量来自
状态的行会带来巨大的性能问题,尽可能将页面完全冻结在500行左右,因此确保不管怎样都懒散地显示信息。只是存储一个大数组以防止更多的网络调用。将您的大数据保持在组件状态(或者更好地将其保持在useRef中以避免重新查找成本)是可以的,但我建议使用延迟加载来部分地获取和处理数据。不要忘记在每条记录上设置一个键道具,以避免重新播放。如果您有一些孩子,请使用memo函数。因此,我使用一个类组件来获取react select的大量选项列表。在异步模式下使用它。在用户搜索时,我点击我获取的数据,过滤掉选项。我一次只渲染25个选项,但需要保留原始数据,以便从中构造选项。因为它是一个嵌套数组,所以在将渲染选项传递给react-select之前,我会使用自定义搜索条件对其进行处理。应该可以,只需使用
useRef
usemo
来帮助防止性能副作用。我不确定问题的存储部分,但根据经验,我发现显示大量来自
状态的行会带来巨大的性能问题,甚至会将页面完全冻结在500行左右,因此请确保不管怎样都懒散地显示信息。是的,我不会渲染大量组件。只是存储一个大数组以防止更多的网络调用。将您的大数据保持在组件状态(或者更好地将其保持在useRef中以避免重新查找成本)是可以的,但我建议使用延迟加载来部分地获取和处理数据。不要忘记在每条记录上设置一个键道具,以避免重新播放。如果您有一些孩子,请使用memo函数。因此,我使用一个类组件来获取react select的大量选项列表。在异步模式下使用它。在用户搜索时,我点击我获取的数据,过滤掉选项。我一次只渲染25个选项,但需要保留原始数据,以便从中构造选项。因为它是一个嵌套数组,所以在将渲染选项传递给react-select之前,我会使用自定义搜索条件对其进行处理。如果可以,只需使用
useRef
usemo
来帮助防止性能副作用。