枚举类型在 next.js 项目中不起作用解决方式-ag捕鱼王app官网

枚举类型在 next.js 项目中不起作用解决方式

作者:迹忆客 最近更新:2023/01/08 浏览次数:

在 next.js 项目中出现过 "type 'string' is not assignable to type '"left" | "right"'." 的错误。

在 next.js 上运行的项目,下面是类型定义

export interface twocolumnsbluewhite {
  title: string;
  subtitle: string;
  content: jsx.element;
  links: string[];
  imageside: 'left' | 'right'
}

下面是我的 map 数组。

const data = [
{ title: 'some'
  ...
  imageside: 'left'
 },
{ title: 'some'
  ...
  imageside: 'right'
 },
];
<carousel />
      {data.map((data) => (
        <twocolumnsbluewhite
          title={data.title}
          subtitle={data.subtitle}
          content={data.content}
          links={data.links}
          imageside={data.imageside}
        />
      ))}

如果我们改变对 imageside 的定义:'left'| 'right' | string。其实是可以正常工作的,但是我们想使用严格(strict)模式。

'left' 和 'right' 不是 imageside 中的类型或枚举类型:'left' | 'right'。因此,一种ag捕鱼王app官网的解决方案可能是首先定义枚举类型,如下所示,

export enum iside {
   left = 'left',
   right = 'right'
}

然后,在需要时使用它,

export interface twocolumnsbluewhite {
  title: string;
  subtitle: string;
  content: jsx.element;
  links: string[];
  imageside: iside.left | iside.right           // <--- 导入iside 并且在这里使用
}

并且修改如下代码

const data = [
{ title: 'some'
  ...
  imageside: iside.left
 },
{ title: 'some'
  ...
  imageside: iside.right
 },
];

转载请发邮件至 1244347461@qq.com 进行申请,经作者同意之后,转载请以链接形式注明出处

本文地址:

相关文章

发布时间:2022/03/11 浏览次数:170 分类:

发布时间:2022/03/11 浏览次数:131 分类:

发布时间:2022/03/11 浏览次数:75 分类:

发布时间:2022/03/11 浏览次数:178 分类:

发布时间:2022/03/10 浏览次数:102 分类:

发布时间:2022/03/10 浏览次数:62 分类:

发布时间:2022/03/10 浏览次数:167 分类:

发布时间:2022/03/09 浏览次数:95 分类:

发布时间:2022/03/09 浏览次数:149 分类:

扫一扫阅读全部技术教程

社交账号
  • https://www.github.com/onmpw
  • qq:1244347461

最新推荐

教程更新

热门标签

扫码一下
查看教程更方便
网站地图