表单痛点
- 值的获取,同步(React Form很繁琐);
- 验证;
- 提交过程处理
Formik

keeping track of values/errors/visited fields, orchestrating validation, and handling submission
核心就是状态收集,除了values之外还有其他的相关状态:
initialValues
initialValues是必须的,用于初始化values。
values
errors
touches
并且它们都是同构的。
initialValues的必要性?
子组件如何访问Formik组件的状态和方法?
这就涉及如何使用Formik了。
Render props方式;
- Hooks
form方法:
- handleChange
- handleBlur
注意:handleChange和handleBlur的实参必须是SyntheticEvent。但有些UI库中Input的onChange事件处理函数只是value值,如果遇到这种情况可以利用Formik的方法显示的更新值。
Formik只做逻辑,不做UI。
把逻辑和UI分开是很明智的,更容易扩展。
Formik只做逻辑部分。
表单痛点
Formik
核心就是状态收集,除了
values之外还有其他的相关状态:initialValuesinitialValues是必须的,用于初始化values。valueserrorstouches并且它们都是同构的。
initialValues的必要性?子组件如何访问Formik组件的状态和方法?
这就涉及如何使用Formik了。
Render props方式;form方法:
注意:
handleChange和handleBlur的实参必须是SyntheticEvent。但有些UI库中Input的onChange事件处理函数只是value值,如果遇到这种情况可以利用Formik的方法显示的更新值。Formik只做逻辑,不做UI。
把逻辑和UI分开是很明智的,更容易扩展。
Formik只做逻辑部分。