背景
隔壁 zym 同事遇到了一个问题,在编辑表格时,每输入一个字符后都会失去焦点,需要重新点击聚焦后才能继续输入,如图:
![47d1b5ab-38d7-4996-9168-d910423d096e.gif](https://img-blog.csdnimg.cn/img_convert/133b0bbf03b720c9958d4d6e6cab1f2c.gif#clientId=uba010fd1-f904-4&from=ui&height=390&id=u838d75d9&margin=[object Object]&name=47d1b5ab-38d7-4996-9168-d910423d096e.gif&originHeight=520&originWidth=798&originalType=binary&size=134506&status=done&style=stroke&taskId=ub9d1cadc-1d36-42f3-90b8-66022536b33&width=599)
原因
归根结底,是关于 key 的问题。
原先的代码中,components 在 render 中,然而在每次 setState 后都会触发 render,因此相当于每次 components 都是一个新变量、新组件。
import "./styles.css";
import React from "react";
import { Table, Input } from "antd";
import