gpt4 book ai didi

javascript - 调用 API 后无法填充来自 Axios 的输入

转载 作者:行者123 更新时间:2023-12-03 02:48:19 24 4
gpt4 key购买 nike

渲染表单以输入值:

return (

handleSubmit 将检查表单是否有效并准备好提交,并调用回调函数 //在我们的例子中,onSubmit()

    The name property specifies what piece of state is being edited
<Field
label="Email"
type="email"
name="Email"
component={this.renderField}
/>

<Field name="city"
label="Cidade"
value={this.state.value}
onChange={this.handleChange}
options={options}
component="select">
</Field>

<Field
label="Password"
type="password"
name="password"
component={this.renderField}
/>
<button type="submit" className="btn btn-primary">Submit</button>
<Link to="/register" className="btn btn-danger">Already registered?</Link>
</form>
);

我从 json 获取值,但字段为空

最佳答案

您的初始状态可能未设置,因此 this.state.cities 实际上是空的。

在渲染函数中执行类似的操作:

render() {
const options = ( this.state.cities || [] ).map( (city) => ( {
value: city.name,
label: city.id
} );

return (
-- other components --

{ options.length ? (
<Field name="city"
label="Cidade"
value={this.state.value}
onChange={this.handleChange}
options={options}
component="select"
/>
) : null }

-- other components --
);
}

( this.state.cities || [] ) 将检查 this.state.cities 是否可用,否则使用空数组。

<小时/>

更详细一点:您的 axios 调用是异步的。这意味着,React 不会等待 axios 获取数据,而是尝试渲染某些内容。

您的状态尚未设置(可能),因此您会收到此错误。

关于javascript - 调用 API 后无法填充来自 Axios 的输入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48006216/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com