将数据库参数字段值映射到自定义名称

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`