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';