Helper函数抛出错误



let storage = {};
storage.saveCredentials = (token:any, id:any) => {
localStorage.setItem('token', token);
localStorage.setItem('userId', id);
}
storage.saveStatus = (status:any) => {
localStorage.setItem('status', JSON.stringify(status));
}

export default storage;
我得到的错误是Property 'saveCredentials' does not exist on type '{}'.

TypeScript在声明时决定storage的类型,所以storage只是一个没有任何成员的空对象的类型。您应该在创建对象时直接添加这些函数:

const storage = {
saveCredentials: (token:any, id:any) => {
localStorage.setItem('token', token);
localStorage.setItem('userId', id);
},
saveStatus: (status:any) => {
localStorage.setItem('status', JSON.stringify(status));
}
}
export default storage;

如果要在运行时动态添加成员,请声明storage为any:

let storage: any = {}

但是你会失去类型安全性。

最好创建函数并导出。

const saveCredentials = (token: any, id: any) => {
localStorage.setItem('token', token);
localStorage.setItem('userId', id);
};
const saveStatus = (status: any) => {
localStorage.setItem('status', JSON.stringify(status));
};
export { saveCredentials, saveStatus };

像这样使用

import { saveCredentials, saveStatus } from './storage';

相关内容

最新更新