fetch()为每个调用注入一个查询变量/标头值

bry*_*yan 5 javascript node.js reactjs react-native

现在,在我的React-Native应用程序中,我有以下内容:

fetch('http://localhost/SOMETHING', { 
    method: 'GET', 
    headers: { 
        'Content-Type': 'application/json', 
        'Authorization': 'Bearer '+this.state.authtoken 
    } 
})
Run Code Online (Sandbox Code Playgroud)

目标:让我的API知道UID正在拨打电话.我知道这应该是authtoken,但不同的用户可以使用相同的authtoken.

我最初的想法是在?uid=${UID}每个网址的末尾添加一个.但是,我有GET,POST,PATCH,以及他们自己的一组查询

另一个想法是使用UID数据添加标头值.

无论我选择什么,能够将这个值添加到每个FETCH而不必做其他工作是很棒的.

这是可能的吗?打开你会做什么的建议.

Paw*_*zuk 0

如果可以的话,最好是切换到 Axios ( https://github.com/axios/axios ) - 在那里做到这一点要容易得多。

但如果您需要使用 fetch 那么https://github.com/werk85/fetch-intercept就是您的解决方案。

示例代码

fetchIntercept.register({
  request: (url, config) => {

   config.headers = {
     "X-Custom-Header": true,
      ...config.headers
   };

    return [url, config];
  }
});
Run Code Online (Sandbox Code Playgroud)