来自 redux store 的 Formik 初始值
Formik initial values from redux store
我从 redux store 获取 formik initialValues 的值,但它们在组件安装时未定义。
原始示例
const value1 = useSelector(state => state.store.value1)
const initialValues = { value1 }
const formik = useFormik({ initialValues })
...
return (
<>
<input name='value1' value={formik.values.value1} />
</>
)
有什么方法可以依赖这个值吗?或动态加载它们?
您可以通过传递 Redux 状态的 props 值来设置 Formik 中的初始值。
const { user } = this.props;
return (
<Formik
enableReinitialize={true}
initialValues={{
name: user.name ? user.name : "",
age: user.age ? user.age : ""
}}
> ...
</Formik>
)
我从 redux store 获取 formik initialValues 的值,但它们在组件安装时未定义。
原始示例
const value1 = useSelector(state => state.store.value1)
const initialValues = { value1 }
const formik = useFormik({ initialValues })
...
return (
<>
<input name='value1' value={formik.values.value1} />
</>
)
有什么方法可以依赖这个值吗?或动态加载它们?
您可以通过传递 Redux 状态的 props 值来设置 Formik 中的初始值。
const { user } = this.props;
return (
<Formik
enableReinitialize={true}
initialValues={{
name: user.name ? user.name : "",
age: user.age ? user.age : ""
}}
> ...
</Formik>
)