Javascript 如何确保axios请求使用的是redux存储中的最新令牌?

Javascript 如何确保axios请求使用的是redux存储中的最新令牌?,javascript,reactjs,react-native,redux,axios,Javascript,Reactjs,React Native,Redux,Axios,我的redux商店中有一个accessToken。我正在创建一个axios客户端,如下所示: import axios from 'axios'; import store from '../redux/store'; const apiClient = axios.create({ baseURL: 'http://localhost:5002/api/', headers: { Authorization:`Bearer ${store.getState()

我的redux商店中有一个accessToken。我正在创建一个axios客户端,如下所示:

import axios from 'axios';
import store from '../redux/store';

const apiClient = axios.create({
    baseURL: 'http://localhost:5002/api/',
    headers: {
        Authorization:`Bearer ${store.getState().auth.accessToken}` // ???
    }
});
apiClient.defaults.headers.common['Authorization'] = `Bearer ${store.getState().auth.accessToken}`; // ???

export default apiClient;
apiClient.get<User[]>('Users/Friends');
我希望apiClient发送的每个请求都包含来自redux存储的accessToken的当前值(在发送请求时)。对于标有???的行,我不确定是在创建ApicClient时只设置一次授权标头,还是在更新存储中的accessToken时标头的值也会更改。 稍后我想提出如下请求:

import axios from 'axios';
import store from '../redux/store';

const apiClient = axios.create({
    baseURL: 'http://localhost:5002/api/',
    headers: {
        Authorization:`Bearer ${store.getState().auth.accessToken}` // ???
    }
});
apiClient.defaults.headers.common['Authorization'] = `Bearer ${store.getState().auth.accessToken}`; // ???

export default apiClient;
apiClient.get<User[]>('Users/Friends');
这是最优雅的解决方案吗