在React组件中,如何使用fetch( )的返回值?

React通过fecth异步加载数据,但是fecth之后,如何才能让我使用返回的值呢?


  getInitialState:function(){

    return{

      result:''

    }

  },

  proceedSubmit:function(userID,userPWD){

    var res = 'Not Set';

    fetch('http://127.0.0.1:80/csu/Search.php',{

      method:'POST',

      mode:'cors',

      headers:{

        'Content-Type': 'application/x-www-form-urlencoded'

      },

      body:'userID='+userID+'&userPWD='+userPWD

    }).then(function(response){

      return response.text().then(function(text){

        res = text;

        console.log(res);

      });

    }).then(function(){

      console.log(res);

    });

    console.log(res);

  },

像这样跨域fecth之后,得到了返回值text,第一二个输出确实是返回的值,但是第三个却是初始的“Not Set”。我该怎么样才能使用fetch回来的值呢?让它改变我的state。


喵喔喔
浏览 1543回答 1
1回答

蝴蝶刀刀

proceedSubmit: function(userID, userPWD) {&nbsp; &nbsp; var res = 'Not Set';&nbsp; &nbsp; var _this = this;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;// <-------&nbsp; &nbsp; fetch(....).then(function(response) {&nbsp; &nbsp; &nbsp; &nbsp; _this.someData = text;&nbsp; // <-------&nbsp; &nbsp; })}
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript