繁体   English   中英

Typescript React/Next 通过具有联合类型属性的键映射 object

[英]Typescript React/Next mapping an object via keys with union type properties

我是 TS 新手,在使用联合类型字符串或数组映射 Object 时无法解决 Typespript 错误。 我的方法中的 JS 工作正常,但是在映射字体大小时出现 Typescript 错误。 错误提示字符串上不存在 map。 我知道这意味着什么,但我不知道如何解决它。 我想知道是否有人可以帮助我。

const fontSizes = {
  xs: '16px',
  md: ['16px', '24px'],
  lg: ['16px', '24px', '32px']
}

 const Typography: NextPage = () => {
  return (
    <>
      {Object.keys(fontSizes).map((k, i) => {
        return (
          <>
            <h2 key={i}>{k}</h2>
            {typeof fontSizes[k as keyof typeof fontSizes] === 'string' &&
              sizes[k as keyof typeof sizes].fontSize}

            {typeof fontSizes[k as keyof typeof fontSizes] === 'object' &&
              sizes[k as keyof typeof sizes].fontSize.map((k, i) => {
                return <span key={i}>{k}</span>
              })}
          </>
        )
      })}
    </>
  )
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM