我在這里遇到的問題是我試圖在我的saveToken函式中作為引數給出的 JSON 物件中檢索令牌。現在 Typescript 無法識別我要檢索的物件,所以它給了我你可以在標題中看到的錯誤。現在我已將引數分配為 JSON 物件以及常規 JavaScript 物件,但它似乎不起作用。
如何檢索 JSON 物件中的特定物件?
export default function useToken() {
const getToken = () => {
const tokenString = localStorage.getItem("token");
const userToken = JSON.parse(tokenString as string);
return userToken;
}
const [token, setToken] = useState(getToken());
const saveToken = (userToken: JSON) => {
localStorage.setItem("token", JSON.stringify(userToken));
setToken(userToken.token) // <--- error points to ".token"
}
return {
setToken: saveToken,
token
}
}
uj5u.com熱心網友回復:
所以我在這段代碼中看到了一些問題。一、介面JSON(userToken:JSON)不正確。應該是userToken: string。不過,我懷疑在你的情況下它實際上應該是userToken: values. 這將解決您的所有問題。就好像它是一個字串一樣,您正在對 JSON 字串進行字串化。雖然這取決于你傳入的內容。如果你給它一個完整的值物件,你需要更改更多的東西,因為 setItem 將設定完整的值物件。如果它只是 userToken 字串,則不需要修復,除了需要修復的無用 JSON.stringify 之外。
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/432132.html
下一篇:為什么D3不創建svg元素
