字符串类型的参数 | null 不可分配给类型字符串错误的参数
argument of type string | null is not assignable to parameter of type string error
当我尝试获取本地存储记录时出现以下错误。
"Argument of type 'string | null' is not assignable to parameter of type 'string'.\n Type 'null' is not assignable to type 'string'.",
这是代码
this.service.getAllPets(this.CatDog).subscribe(
data => {
this.pets = data;
console.log(data);
// tslint:disable-next-line:no-bitwise
const newPet = JSON.parse(localStorage.getItem('newPet'));
if (newPet){
this.pets = [newPet, ...this.pets];
}
console.log(this.route.snapshot.url.toString());
}, error => {
console.log('httperror:');
console.log(error);
}
);
JSON.parse
接受字符串类型的参数
localStorage.getItem
returns 字符串类型的参数或 null(如果未找到)
因此您可以在解析之前添加一个快速默认值集。
像这样:
const newPet = JSON.parse(localStorage.getItem('newPet') || "{}");
另一种选择是从本地存储中获取结果,检查它是否不为空然后解析它。
当我尝试获取本地存储记录时出现以下错误。
"Argument of type 'string | null' is not assignable to parameter of type 'string'.\n Type 'null' is not assignable to type 'string'.",
这是代码
this.service.getAllPets(this.CatDog).subscribe(
data => {
this.pets = data;
console.log(data);
// tslint:disable-next-line:no-bitwise
const newPet = JSON.parse(localStorage.getItem('newPet'));
if (newPet){
this.pets = [newPet, ...this.pets];
}
console.log(this.route.snapshot.url.toString());
}, error => {
console.log('httperror:');
console.log(error);
}
);
JSON.parse
接受字符串类型的参数
localStorage.getItem
returns 字符串类型的参数或 null(如果未找到)
因此您可以在解析之前添加一个快速默认值集。 像这样:
const newPet = JSON.parse(localStorage.getItem('newPet') || "{}");
另一种选择是从本地存储中获取结果,检查它是否不为空然后解析它。