我有一个项目列表。 我用这个列表渲染一个Table组件。 我想为每一行添加一个复选框。 我是否必须为表行iteself使用单独的组件,以便通过检查它而不渲染整个表来设置当前行样式? 现在,当我更改项目的“已选择”属性时,整个表格都会呈现。
谢谢:)
答案 0 :(得分:0)
如果你的整个表重新渲染,你应该清楚地更新你的代码以避免这种情况。就像你说的那样,每行可以有一个组件,所以当一行更新时,只有行重新渲染。我强烈建议你这样做。务必在每行中包含一个关键支柱,以避免性能泄漏。您还可以使用shouldComponentUpdate
方法来避免无用的重新渲染。将道具从表组件向下传递到行组件时,请确保传递的对象是唯一的,不要经常更改。如果在这之后,您意识到行将更新并经常重新渲染,您可以尝试使用react-virtualized,此库仅渲染屏幕上可见的行。如果您需要更多帮助,也可以共享一些代码。