最近写代码遇见过一种场景, 举个例子吧:
export default function A() {
return {
<Form form={form}>
<Form.Item>
<B
RemoveFile={(index)=>{
form.setFieldValue(['xxx',...省略了]
}}
/>
</Form.Item>
</Form>
}
}
大概就是这个结构,此时我们使用form.setFieldValue()没有作用,是因为setFieldValue之后react组件并没有进行重新渲染,因此,可以加一个key,通过+1让react组件强制渲染
export default function A() {
const [key, setKey] = useState(0);
return {
<Form form={form}>
<Form.Item>
<B
key={key}
RemoveFile={(index)=>{
form.setFieldValue(['xxx',...省略了]
}}
setKey(refKey => refKey + 1);
/>
</Form.Item>
</Form>
}
}