reactjs - reactjs - 如何在formik中将状态值传递给初始值
问题描述
我在我的反应应用程序中使用 formik 库。最初,我在构造函数中声明了状态值,在 componentDidMount 中我正在调用一个 API,该应用程序响应正在更新状态值,任何人都可以帮助我将状态值传递给 fomik 初始值
在我的情况下,formik 采用在构造函数中声明的初始状态值。提前谢谢
class Dropdown extends Component {
constructor(props) {
super(props);
this.state = {
//some data
};
}
componentDidMount() {
//api call
this.setState( {
//update state values with api response data
});
}
render() {
return (
<Formik
initialValues={this.state}
validate={validate(validationSchema)}
onSubmit={onSubmit}
render={
({
values,
errors,
touched,
status,
dirty,
handleChange,
handleBlur,
handleSubmit,
isSubmitting,
isValid,
handleReset,
setTouched
}) => (
//form uses initialValues
)} />
)
}
}
解决方案
将 enableReinitialize 添加到 formik 解决了我的问题
<Formik
enableReinitialize
..
render={
({
..
}) => (
//form uses initialValues
)} />
推荐阅读
- apache - 使用 VirtualHost 将 HTTP 重定向到 HTTPS
- yaml - Jekyll 默认(布局) Front Matter 不起作用:已修复
- python - 创建循环以通过多个 URL 导入数据
- updates - 错误:无法验证更新。确保网络安全,然后重试。
- javascript - 找不到模块:错误:无法解析“croppie”
- sql-server - 查询和子查询遇到问题:SQL 子查询返回超过 1 个值
- c# - CookieAuthenticationOptions.LogoutPath 属性在 ASP.NET Core 2.1 中有什么作用?
- vue.js - Vue.js/Vuex 登录:[vuex] 未知操作类型:postLogin。
- aspnetboilerplate - Aspnet Boilerplate GetValidTwoFactorProvidersAsync 返回一个空列表
- python-3.x - 错误的视差图