使用可选链接后。问题 JSON 中位置 0 的意外标记 u
After using optional chaining. Problem Unexpected token u in JSON at position 0
使用可选链后,我收到了这个问题。
Unexpected token u in JSON at position 0
import axios from 'axios'
const BASE_URL = 'http://localhost:5000/api'
const TOKEN = JSON.parse(JSON.parse(localStorage.getItem('persist:root'))?.user)
?.currentUser?.accessToken || null
export const publicRequest = axios.create({
baseURL: BASE_URL,
})
export const userRequest = axios.create({
baseURL: BASE_URL,
headers: { token: `Bearer ${TOKEN}` },
})
编辑添加:
你为什么要解析 persist:root
,这个对象是由 redux-persist
库设置的,它是你的 redux 存储的副本。如果您需要商店中的任何数据,请使用 React 组件中的 useSelector
挂钩。
试试这个:
const TOKEN = JSON.parse(JSON.parse(localStorage.getItem('persist:root'))?.user ?? null)?.currentUser?.accessToken || null;
等同于:
const storageItem = localStorage.getItem('persist:root'); // string or null
const parsedObject = JSON.parse(storageItem); // parsed object or null
const parsedUser = JSON.parse(parsedObject?.user ?? null); // parsed user or null
const TOKEN = parsedUser?.currentUser?.accessToken || null; // the token or null
使用可选链后,我收到了这个问题。
Unexpected token u in JSON at position 0
import axios from 'axios'
const BASE_URL = 'http://localhost:5000/api'
const TOKEN = JSON.parse(JSON.parse(localStorage.getItem('persist:root'))?.user)
?.currentUser?.accessToken || null
export const publicRequest = axios.create({
baseURL: BASE_URL,
})
export const userRequest = axios.create({
baseURL: BASE_URL,
headers: { token: `Bearer ${TOKEN}` },
})
编辑添加:
你为什么要解析 persist:root
,这个对象是由 redux-persist
库设置的,它是你的 redux 存储的副本。如果您需要商店中的任何数据,请使用 React 组件中的 useSelector
挂钩。
试试这个:
const TOKEN = JSON.parse(JSON.parse(localStorage.getItem('persist:root'))?.user ?? null)?.currentUser?.accessToken || null;
等同于:
const storageItem = localStorage.getItem('persist:root'); // string or null
const parsedObject = JSON.parse(storageItem); // parsed object or null
const parsedUser = JSON.parse(parsedObject?.user ?? null); // parsed user or null
const TOKEN = parsedUser?.currentUser?.accessToken || null; // the token or null