如何立即`localStorage.getItem`

亚希帕尔瓦

首先,我使用localStorage.setItem保存从api获取的令牌并将其设置为axios中的标头

我需要使用local.storage.getItem()读取数据,然后将其设置为标头,
所以还有另一个操作发送请求,获取令牌并将其保存到本地存储中,localStorage.setItem()并将浏览器历史记录替换为我调用需要令牌的操作的位置,但是它显示404错误,并且只有第一个错误,这意味着仅在第一次时,如果我关闭页面并再次打开它,就可以正常工作,
我将逐步显示代码

这是我要使用令牌的代码

import axios from 'axios';
const token =  localStorage.getItem('token')//here doesn't get it and shows 404 error from API i refresh the page for second time or after 
export default axios.create({

  headers:{"Authorization": `Bearer ${token}`}
})

这是我的行为,其中我获得了带有axios的不同实例的令牌,该实例没有 header

export const sendCode = (phone, code) => async dispatch => {
  dispatch({ type: LOADING_STATE })

  const response =
    await loginApi.post(baseurl + "Auth/Checkcode", {
      phone: phone,
      code: code
    },
    )
  dispatch({ type: SEND_CODE, payload: response.data });
  if (response.data.success === true) {
    history.replace('/home')
   localStorage.setItem("token", response.data.obj.token)
  }

最后这是我用具有 header

export const getHomeInfo = () => async dispatch => {
  dispatch({type:LOADING_STATE})
 const response = await homeAPI.get(baseurl + "Home/GetList")//homeAPI is the instance that has header

  dispatch({ type: GET_HOME_INFO, payload: response.data })
};
法兰克·霍丁
import axios from 'axios';
const token =  localStorage.getItem('token')
export default axios.create({

  headers:{"Authorization": `Bearer ${token}`}
})

在这里,当js文件捆绑在一起时,令牌将被提取一次,您每次都必须重新提取它:

import axios from 'axios';


const getHeaders = () => {
  const token = localStorage.getItem('token')
  return {"Authorization": `Bearer ${token}`}
}

export default axios.create({
  headers: getHeaders()
})

编辑:上面的代码不起作用,因为axios.create()仅被调用一次,如果需要动态头,则应添加一个拦截器,该拦截器将在每个请求之前被调用:

const axiosInstance = axios.create()

axiosInstance.interceptors.request.use(
  (config) => {
    const token = localStorage.getItem('token');
    if (token) {
      config.headers.authorization = `Bearer ${token}`;
    }
    return config;
  },
  (error) => Promise.reject(error),
);

export default axiosInstance

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

从LocalStorage获得Geb getItem

来自分类Dev

localStorage getItem问题

来自分类Dev

拦截localStorage.getItem()

来自分类Dev

从LocalStorage获得Geb getItem

来自分类Dev

getitem localstorage无法正常工作

来自分类Dev

localStorage getItem日志[对象对象]

来自分类Dev

localStorage getItem日志[对象对象]

来自分类Dev

如何重写getItem()?

来自分类Dev

如何重写getItem()?

来自分类Dev

`prop in localStorage`与`localStorage.getItem('prop')!== null`

来自分类Dev

获取与localStorage.getItem()不同的属性的值?

来自分类Dev

如何清除此错误(获取错误$ localStorage.getItem不是函数)?

来自分类Dev

如何干净地写__getitem__?

来自分类Dev

如何更改 FragmentStatePagerAdapter 的 getItem 内的片段

来自分类Dev

AngularJS“ localStorage.getItem”在$ resource中为null

来自分类Dev

Sencha localStorage.getItem()在模型中返回null

来自分类Dev

在Angular中的localStorage.getItem上未定义

来自分类Dev

将setState设置为ReactJS中的localstorage.getItem

来自分类Dev

Sencha localStorage.getItem()在模型中返回null

来自分类Dev

localStorage.getItem("base64") 返回空值

来自分类Dev

在 react-redux 中使用 localstorage setItem/getItem

来自分类Dev

为什么未定义localStorage [“ ...”],但是localStorage.getItem(“ ...”)为null?

来自分类Dev

列表切片如何与__getitem__挂钩?

来自分类Dev

如何同时实现__getitem__和__getattr__?

来自分类Dev

如何在fragmentPagerAdapter中调用getItem(int position)?

来自分类Dev

如何在PyObject_GetItem()函数中处理`key'参数

来自分类Dev

如何从List <Object>最佳实践计算summ Object.getItem()?

来自分类Dev

__getitem__的idx在PyTorch的DataLoader中如何工作?

来自分类Dev

如何从 Activity 调用 ListView 适配器的 getItem(i)

Related 相关文章

  1. 1

    从LocalStorage获得Geb getItem

  2. 2

    localStorage getItem问题

  3. 3

    拦截localStorage.getItem()

  4. 4

    从LocalStorage获得Geb getItem

  5. 5

    getitem localstorage无法正常工作

  6. 6

    localStorage getItem日志[对象对象]

  7. 7

    localStorage getItem日志[对象对象]

  8. 8

    如何重写getItem()?

  9. 9

    如何重写getItem()?

  10. 10

    `prop in localStorage`与`localStorage.getItem('prop')!== null`

  11. 11

    获取与localStorage.getItem()不同的属性的值?

  12. 12

    如何清除此错误(获取错误$ localStorage.getItem不是函数)?

  13. 13

    如何干净地写__getitem__?

  14. 14

    如何更改 FragmentStatePagerAdapter 的 getItem 内的片段

  15. 15

    AngularJS“ localStorage.getItem”在$ resource中为null

  16. 16

    Sencha localStorage.getItem()在模型中返回null

  17. 17

    在Angular中的localStorage.getItem上未定义

  18. 18

    将setState设置为ReactJS中的localstorage.getItem

  19. 19

    Sencha localStorage.getItem()在模型中返回null

  20. 20

    localStorage.getItem("base64") 返回空值

  21. 21

    在 react-redux 中使用 localstorage setItem/getItem

  22. 22

    为什么未定义localStorage [“ ...”],但是localStorage.getItem(“ ...”)为null?

  23. 23

    列表切片如何与__getitem__挂钩?

  24. 24

    如何同时实现__getitem__和__getattr__?

  25. 25

    如何在fragmentPagerAdapter中调用getItem(int position)?

  26. 26

    如何在PyObject_GetItem()函数中处理`key'参数

  27. 27

    如何从List <Object>最佳实践计算summ Object.getItem()?

  28. 28

    __getitem__的idx在PyTorch的DataLoader中如何工作?

  29. 29

    如何从 Activity 调用 ListView 适配器的 getItem(i)

热门标签

归档