2017-05-09 60 views
1

我認爲問題是值仍然爲空我需要設置值,但我不知道如何。我的API可以讀取,但我不能輸出react.js

constructor() { 
    super(); 
    this.state = { 
     jsonReturnedValue: null 
    } 
    } 
在這方面我設置了一個空值和

試圖獲取到我的反應,但是當我運行它只有「員工列表」可以看出

fetch("http://localhost:5118/api/employeedetails/getemployeedetails") 
    .then(handleErrors) 
    .then(response => response.json()) .then(json => { 
     this.setState({ jsonReturnedValue: response.results }); 
    }).catch(function(error) { 
     console.log(error); 
    }); 

    } 
    } 

render() { 
    return(
     <div> 
     <h1> Listof Employees </h1> 
      <h1>{ this.state.jsonReturnedValue }</h1> 
     </div> 
+0

沒有獲得響應你。然後,但json,console.log(json)在.then回調,然後你可以看到你想要設置爲jsonReturnedValue –

回答

0

的問題是response.resultsresponse不在第三個then調用中,只有第二個。

嘗試:

fetch("http://localhost:5118/api/employeedetails/getemployeedetails") 
    .then(handleErrors) 
    .then(response => response.json()) 
    .then(json => { 
     this.setState({ jsonReturnedValue: json.results }); 
    }).catch(function(error) { 
     console.log(error); 
    }); 
0

使用愛可信的HTTP請求。並簽入然後承諾使用console.log(response);響應來自api或不是

0

fetch功能是否停留在您的componentDidMount()?就像這樣:

componentDidMount() { 
    fetch('http://localhost:5118/api/employeedetails/getemployeedetails') 
    .then(resp => resp.json()) 
    .then((resp) => { 
    console.log(resp); 
    this.setState({jsonReturnedValue: JSON.stringify(resp)}); 
    }).catch(function(error) { 
    console.log(error); 
    }); 
} 

也請大家注意,this.setState({jsonReturnedValue: JSON.stringify(resp)}) =>的resp的字符串化版本,必須使用時,你只是想放棄它,看看。 (因爲在render(),你剛回來<h1>{ this.state.jsonReturnedValue }</h1>

但是,您可能循環(可能使用.map)的jsonReturnedValue和渲染每個員工的正確,那麼請刪除JSON.stringify

相關問題