react数组代码有问题

react数组代码有问题

代码如下

let fileMessage = [
    {
      code: 'file-invalid-type',
      message: 'Select the correct file type',
    },
    {
      code: 'file-too-large',
      message: 'Total File Size is limited to maximum 25MB',
    },
  ];
 
let fileRejections = [
    {
      errors: [
        { code: 'file-invalid-type', message: 'File type must be one of image/*' },
        { code: 'file-too-large', message: 'File is larger than 26214400 bytes' }  // 有可能是这行数据
      ],
    },
  ];
 
const fileRejectionItems = fileRejections.map(({ file, errors }) => (
    <div key={file.path}>
      <>
        {errors.map((e) => (
          <ErrorMsg
            key={e.code}
            className={classes.errorMsg}
            type='error'
            label={fileMessage.find((i) => (i.code === e.code ? i : e.message)).message}
          />
        ))}
      
    
  ));

希望根据code相等,return fileMessage 里对应的message,但是始终return这个message: 'Select the correct file type'

逻辑有问题,
label={fileMessage.find((i) => (i.code === e.code ? i : e.message)).message}
粉红色这句find一项时,返回值就是等级于true的了,不管code是否匹配,所以直接返回了第一项的内容

改下面这样,当fileMessage找不到code匹配的项,再用e这个变量中的message
label = { (fileMessage.find(i => i.code === e.code) || e).message }

您好,我是有问必答小助手,您的问题已经有小伙伴帮您解答,感谢您对有问必答的支持与关注!
PS:问答VIP年卡 【限时加赠:IT技术图书免费领】,了解详情>>> https://vip.csdn.net/askvip?utm_source=1146287632