将数据库参数字段值映射到自定义名称
Map database params field values to custom names
我试图在前端处理一系列错误并将它们显示在页面上。我正在获取用户从后端输入的字段并尝试将它们映射出来。但是,后端参数以驼峰命名法返回。请看下面:
我要渲染:
电子邮件、最喜欢的运动、gpa 分数的输入字段不可接受
但我看到了
电子邮件、favoriteSport、gpaScore 的输入字段不可接受
有什么方法可以将参数名称映射到自定义名称吗?
这是我的代码:
Array.isArray(errors) ? `The input fields for ${errors.map(item => item.param)} are unacceptable`
我可以根据自己的喜好映射参数名称吗?
在这里您可以使用 react-intl 之类的东西来格式化消息,但一般来说,您需要将程序化密钥转换为用户友好消息的东西
const t = {
email: "email",
favoriteSport: "favourite sport",
gpaScore: "GPA score"
}
const fields = errors.map(({ param }) => t[param] ?? param)
const message = `The input fields for ${fields.join(", ")} are unacceptable`
const mapper = (item) => {
return {
gpaScore: 'GPA Score',
favoriteSport: 'Favorite Sport',
}[item.param] || 'Unknown property'
}
return `The input fields for ${errors.map(item => mapper(item)).join(', ')} are unacceptable`
我试图在前端处理一系列错误并将它们显示在页面上。我正在获取用户从后端输入的字段并尝试将它们映射出来。但是,后端参数以驼峰命名法返回。请看下面:
我要渲染: 电子邮件、最喜欢的运动、gpa 分数的输入字段不可接受
但我看到了
电子邮件、favoriteSport、gpaScore 的输入字段不可接受
有什么方法可以将参数名称映射到自定义名称吗?
这是我的代码:
Array.isArray(errors) ? `The input fields for ${errors.map(item => item.param)} are unacceptable`
我可以根据自己的喜好映射参数名称吗?
在这里您可以使用 react-intl 之类的东西来格式化消息,但一般来说,您需要将程序化密钥转换为用户友好消息的东西
const t = {
email: "email",
favoriteSport: "favourite sport",
gpaScore: "GPA score"
}
const fields = errors.map(({ param }) => t[param] ?? param)
const message = `The input fields for ${fields.join(", ")} are unacceptable`
const mapper = (item) => {
return {
gpaScore: 'GPA Score',
favoriteSport: 'Favorite Sport',
}[item.param] || 'Unknown property'
}
return `The input fields for ${errors.map(item => mapper(item)).join(', ')} are unacceptable`