如何解决使用'as Movie []'代替'<Movie []>'@ typescript-eslint / consistent-type-assertions
我有一家Vuex商店:
type Movie = {
title: string;
id: number;
}
export default new Vuex.Store({
state: {
searchList: <Movie[]>[],},
编译代码时出现错误:
使用“作为电影[]”代替“ ” @ typescript-eslint / consistent-type-assertions
我不清楚正确的语法应该是什么。
我尝试过:
export default new Vuex.Store({
state: {
searchList as Movie[]
},
但这返回:
速记属性“ searchList”的范围内不存在任何值。要么声明一个,要么提供一个初始化程序。
解决方法
要求的是您使用as
type assertion指定[]
的类型。
使用as
的原因之一是as
在TSX文件中有效(因此,规则名称中的“一致”)。
export default new Vuex.Store({
state: {
searchList: [] as Movie[],},
如果您不使用TSX,而是喜欢尖括号的语法,则可以考虑更新linter规则。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。