【发布时间】:2021-12-04 02:29:30
【问题描述】:
我正在尝试从 typescript 中的字符串中删除空格,当我刷新页面或从 url 重新加载它时,其中一个变量会引发一个大错误,而不是当我从我网站上的另一个页面加载它时。 art.title 未定义,所以我需要等待页面加载后才能运行替换代码。
我尝试使用此代码仅在准备好时定义我想要的变量,但如果它在条件中定义,我将无法使用该变量。
这是我尝试定义我想要的 titleString 变量的代码:
function titleNoWhiteSpace() {
if (typeof art.title != 'undefined') {
const tempTitle = art.title.replace(/\s+/g, '');
return tempTitle;
} else {
setTimeout(titleNoWhiteSpace, 300);
}
}
const titleString = titleNoWhiteSpace();
但是当我稍后尝试使用 titleString 时,我收到以下错误,因为该变量尚未定义!
“'{ titleString: string | undefined; }' 类型的参数不能分配给 'string' 类型的参数”
如果我只是尝试直接替换 art.title 中的空格,以下是代码抛出的错误:
"Uncaught TypeError: Cannot read properties of undefined (reading 'replace')"
艺术类型在这里声明:
export interface Art {
uri: string | undefined;
mint: string | undefined;
link: string;
title: string;
artist: string;
seller_fee_basis_points?: number;
creators?: Artist[];
type: ArtType;
edition?: number;
supply?: number;
maxSupply?: number;
}
【问题讨论】:
标签: javascript typescript types