reactjs - React 如何使validationSchema 可重用
问题描述
我有一个组件,其中有一个表单和validationSchema(我使用formik)。
我的验证模式使用 react-intl 来翻译消息。不幸的是,我在两个不同的地方有相同的模式,我想将它导出到另一个地方导入。由于国际,我不知道该怎么做。
我的代码:
import { injectIntl, intlShape } from 'react-intl';
const MyComponent = (props) => {
const { intl } = props;
const setValidationSchema = () => ({
companyName: string(),
firstName: string().required(),
lastName: string().required(),
dateOfBirth: date().required().typeError(intl.formatMessage(messages.dateOfBirth)),
street: string().required(),
});
解决方案
You can use it like:
export const MyComponent =(props) =>(
)
and pass the reference of intl
as a parameter in the schema
I hope that helps you
推荐阅读
- makefile - CXXFLAGS 未附加在 makefile 中
- xcode - 在 Xcode 中启用自动签名需要 App Store Connect 中的什么用户角色?
- c# - 为什么关闭应用程序时线程不加入?
- c# - 为什么 TextBox.GetFirstCharIndexFromLine 总是返回 0?
- android - Bluetoothgatt.writecharacterstic 时发送的数据错误
- ios - Xcode 在编辑器中的构建时间很慢
- csv - 读取数据时出错,错误消息:无法将“1/31/2017”解析为从位置开始的字段的日期
- google-sheets - COUNTIFS 日期包含本月 - Google 表格
- maven - io.fabric8:docker-maven-plugin:0.15.3:build failed
- dataframe - 无法使用 customSchema 将 RDD 转换为 DF