typescript - 在發送授權時,模板字面量表達式的類型 "string | null" 無效。
當我試圖執行授權時,Ts-eslint 以訊息 "模板字面量表達式的類型 "string | null" 無效" 停止了我。
這個值來自 localstorage,所以它必須是 null 或 string,但我也必須將它與 Bearer 結合。
onMounted(async ()=>{
let myToken = localStorage.getItem('token');
await axios.post(
'http://localhost:3000/getdocuments',
{headers:{'Authorisation':`Baerer ${myToken}`}}
)
.then((res)=>{
console.log(res);
})
.catch(err=>{
console.log(err);
})
})
答案#1
我認為這個請求應該只在存在 token 時被調用
onMounted(async ()=>{
let myToken = localStorage.getItem('token');
if (!myToken) {
console.warn('token is empty');
} else {
await axios.post(
'http://localhost:3000/getdocuments',
{headers:{'Authorisation':`Baerer ${myToken}`}}
)
.then((res)=>{
console.log(res);
})
.catch(err=>{
console.log(err);
})
}
})
答案#2
抱歉這麼晚回覆,但我遇到了同樣的錯誤,剛剛透過空值防護檢查修好了它。
在你拿到你的代幣之後,
if (!myToken) {
// Error handle
}
