Which is right using antd Form initialValue?
I want to know that if antd form initialValue is using to set initial data or just to show value when the form doesn't have value.
const Component = ({ id }) => {
const initialName = 'John'
const { data } = useQuery(GET_NAME, { variables: { id } })
if (data) {
initialName = data.name
}
return (
<Form.Item>
{form.getFieldDecorator('name', { initialValue: initialName })(<Input />)}
</Form.Item>
)
}
const Component = ({ id }) => {
const { data } = useQuery(GET_NAME, {
variables: { id },
onCompleted: res => { form.setFieldsValue({ name: res.data.name }) }
})
return (
<Form.Item>
{form.getFieldDecorator('name', { initialValue: 'John' })(<Input />)}
</Form.Item>
)
}
It will set the value to what you assign initialValue to, so the first approach is right
you can check it here https://ant.design/components/form/#API