枚举类型在 next.js 项目中不起作用解决方式
在 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 分类: