**已关闭。**此问题需要debugging details。目前不接受回答。
编辑问题以包括desired behavior, a specific problem or error, and the shortest code necessary to reproduce the problem。这将帮助其他人回答问题。
2天前关闭。
Improve this question的
在我的React页面中,我有一个使用array.map的表。从“.map”渲染表需要很多时间,因为数组列表很长。
我有一个输入元素,它与表没有关系(它们彼此不影响)。然而,当输入发生变化时,表会重新渲染,因此会重新Map一百行,并且需要很长时间才能看到输入。似乎每隔一段时间就会发生延迟。
是否每次调用onChange时都不能渲染表?或者有什么方法可以解决这个问题?我刚刚发现了窗口,但是有没有一种方法可以不使用它,或者这是唯一的选择?
3条答案
按热度按时间wgxvkvu91#
看起来输入是由状态变量(用
useState
钩子创建)表示的,它的变化会导致整个组件重新呈现(正如它应该的那样)。但是,据我所知,“慢”表组件是子组件,每次父组件重新渲染时都会重新渲染(长操作),这是由于其状态变化,与我们的“重”组件无关。
因此,有一种优化技术可以防止这种情况-记忆化。只需使用
React.memo
,这将有助于您缓慢呈现表,并且仅在该组件的props发生更改时才限制重新呈现。之前
字符串
后
型
doinxwow2#
简而言之,在React Once中探索Hooks。
当我们需要改变某个东西时,我们使用Hooks
ecbunoof3#