Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/422.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使用React.js存储在fetch()上生成的令牌_Javascript_Reactjs_Rest_Api - Fatal编程技术网

Javascript 使用React.js存储在fetch()上生成的令牌

Javascript 使用React.js存储在fetch()上生成的令牌,javascript,reactjs,rest,api,Javascript,Reactjs,Rest,Api,从这段代码中我得到了一个令牌,我需要存储该令牌以便在另一次获取中使用,这样我就可以刷新该令牌,最好的方法是什么 我只能访问函数中的变量。然后 我更愿意将令牌存储在编码的cookie中,但我不知道如何处理cookie,也不知道如何对它们进行编码或解码 componentDidMount() { fetch("theURL/api-token-auth/", { method: "POST", headers: { Accept: "application/json"

从这段代码中我得到了一个令牌,我需要存储该令牌以便在另一次获取中使用,这样我就可以刷新该令牌,最好的方法是什么

我只能访问函数
中的变量。然后

我更愿意将令牌存储在编码的cookie中,但我不知道如何处理cookie,也不知道如何对它们进行编码或解码

componentDidMount() {
  fetch("theURL/api-token-auth/", {
    method: "POST",
    headers: {
      Accept: "application/json",
      "Content-Type": "application/json"
    },
    body: JSON.stringify({
      email: "EMAIL",
      password: "PASS"
    })
  })
    .then(res => {
      if (res.ok) {
        return res.json();
      } else {
        throw Error(res.statusText);
      }
    })
    .then(json => {
      this.setState({
        isLoaded: true,
        token: json
      });

      let token = this.state.token;
      console.log("var token: ", token);
    })
    .catch(error => console.error(error));
}

看看localStorage,它是存储令牌的好地方

localStorage.setItem('token','userToken')

然后,要恢复该值,只需执行以下操作:
const-token=localStorage.getItem('token')


在这里更深入地了解一下:

您有没有调查过?您可以将您的令牌放在那里,并在加载应用程序时检查localStorage中是否有令牌。您可以将Cookie与React一起使用,就像使用任何其他JS应用程序一样,或者使用任何其他API(如localStorage)一样。如果您不想直接处理编码和解码,请使用第三方库。我不想要本地存储,因为它有点不安全@你有什么建议吗@estusI自己不使用cookies,只是作为本地存储的备用方案。您可以在Github上查看流行的lib。本地存储不如cookies安全?你从哪儿弄来的?至于LS,有store.js、localfough和其他一些。这不足以将令牌存储在localStorage中吗
.then(json=>{this.setState({isLoaded:true,token:json});let token=this.state.token;localStorage.setItem('token',token);}).catch(error=>console.error(error));const token=localStorage.getItem('token')你能发布整个conde吗?我会在另一个问题@Dupocas中提问