我在Apollo查询组件中有一个表单。它的所有输入都是受控的,看起来像这样:
handleChangeValue = (value) => {
this.setState(value);
}
<Input
type="text"
placeholder="Example"
value={this.state.example}
onChangeValue={this.handleChangeValue}
/>
问题在于输入的值取决于状态。因此,如果要用数据库中的数据填充输入,则必须执行以下操作:
<Query query={ACCOUNT_DETAILS} >
{({ loading, error, data }) => {
<Input
type="text"
placeholder="Example"
value={data.example}
/>
})
</Query>
但是,然后,我将如何更新输入值?
我考虑过要做这样的事情:
value={this.state.example || data.example}
我的输入将使用状态中的数据(如果存在),否则将使用查询返回的数据。这对我来说似乎不是最好的解决方案,有什么想法吗?
谢谢!