ant-design All checkboxes are re-rendered in each render in a table with rowSelection enabled

pzfprimi  于 2022-10-25  发布在  其他
关注(0)|答案(5)|浏览(167)
  • I have searched the issues of this repository and believe that this is not a duplicate.

Steps to reproduce

  • open the codesandbox demo in a new window
  • open the react dev tools profiler tab, checkRecord why each component rendered while profiling.
  • start the react dev tools profiling
  • check one record in the demo table
  • stop the react dev tools profiling
  • in the flamegraph, one can see every single checkbox is re-rendered with reasons saying:"Props changed: (onClick, onChange)"

What is expected?

Only the relative checkbox should be re-rendered.

What is actually happening?

All checkboxes are re-rendered.

EnvironmentInfo
antd4.12.3
React17.0.1
SystemWindows 10 Pro 20H2 19042.804
BrowserMicrosoft Edge 88.0.705.74

There will be a noticeable UI lagging when there are hundreds of records in a table. onClick and onChange shouldn't be updated in each render.

0mkxixxg

0mkxixxg1#

Selection column should implement shouldCellUpdate internally.

vc9ivgsu

vc9ivgsu2#

Hello @Sec-ant. We totally like your proposal/feedback, welcome to send us a Pull Request for it. Please send your Pull Request to proper branch (feature branch for the new feature, master for bugfix and other changes), fill the Pull Request Template here, provide changelog/TypeScript/documentation/test cases if needed and make sure CI passed, we will review it soon. We appreciate your effort in advance and looking forward to your contribution!

你好 @Sec-ant,我们完全同意你的提议/反馈,欢迎直接在此仓库 创建一个 Pull Request 来解决这个问题。请将 Pull Request 发到正确的分支(新特性发到 feature 分支,其他发到 master 分支),务必填写 Pull Request 内的 预设模板 ,提供改动所需相应的 changelog、TypeScript 定义、测试用例、文档等,并确保 CI 通过,我们会尽快进行 Review,提前感谢和期待您的贡献。

cczfrluj

cczfrluj3#

@zombieJ Can I take a look into the issue and create a PR ?

whlutmcx

whlutmcx4#

Yes, of course. PR is welcome.

ih99xse1

ih99xse15#

@zombieJ Can I take a look into the issue and create a PR ?

I have little idea of how to fix this, thanks for your effort!

相关问题