2017-01-28 50 views
0

我從服務器這樣如何訪問個人數據在JSON數據

[{ 
    "_id": "588b3731d4428e2ff05ddefa", 
    "Id": 50, 
    "Name": "Vishruth", 
    "Age": 11 
}, { 
    "_id": "588b45df255e323de55ac333", 
    "Id": 51, 
    "Name": "Vishruth", 
    "Age": 11 
}] 

如何從它

import React from 'react'; 

    import axios from 'axios'; 
    //require('./style.scss'); 


     class Premontessori extends React.Component{ 
      constructor(props){ 
      super(props); 
      this.state={ 
       post:[] 
      }; 

      } 


     componentDidMount(){ 
      let self = this; 
      axios.get('http://localhost:8080/list') 
      .then(function(data) { 
       console.log(data); 
       self.setState({post:data}); 
       }); 
      } 


      render(){ 


      return(
      <div> 

      {JSON.stringify(this.state.post.data)} 


     </div> 

      ); 
      } 
     } 
     export default Premontessori; 

回答

0

data is an array訪問個人數據接收JSON數據。您可以簡單地在陣列的所有元素上使用map to loop,然後使用dot表示法或bracket表示法訪問javascript object的各個元素。

class Premontessori extends React.Component{ 
 
      constructor(props){ 
 
      super(props); 
 
      this.state={ 
 
       post:[] 
 
      }; 
 

 
      } 
 

 

 
componentDidMount(){ 
 
      var data = [{ 
 
         "_id": "588b3731d4428e2ff05ddefa", 
 
         "Id": 50, 
 
         "Name": "Vishruth", 
 
         "Age": 11 
 
        }, { 
 
         "_id": "588b45df255e323de55ac333", 
 
         "Id": 51, 
 
         "Name": "Vishruth", 
 
         "Age": 11 
 
        }] 
 

 
       this.setState({post:data}); 
 
      
 
      } 
 

 

 
render(){ 
 
    return(
 
     <div> 
 
     <tbody> 
 
     {this.state.post.map(function(item, index) { 
 
      return (
 
       <tr> 
 
        <td>{item._id}</td> 
 
        <td>{item.Id}</td> 
 
        <td>{item.Name}</td> 
 
        <td>{item.Age}</td> 
 
       </tr> 
 
      ) 
 
     }) 
 
     }</tbody> 
 
     </div> 
 
     
 
    ) 
 
} 
 
} 
 

 
ReactDOM.render(<Premontessori/>, document.getElementById("app"));
<script src="https://cdnjs.cloudflare.com/ajax/libs/react/15.1.0/react.min.js"></script> 
 
<script src="https://cdnjs.cloudflare.com/ajax/libs/react/15.1.0/react-dom.min.js"></script> 
 
<div id="app"><div>

+0

我從服務器ComponentDidmount它沒有任何申報數據獲取數據。 –

+0

componentDidMount(){ let self = this; (函數(data){ console.log(data); self.setState({post:data}); }); } –

+0

我明白了,只是爲了演示目的,我已經定義了它。正如你所看到的,我只是映射this.state.post以及你如何訪問它。你可以忽略我在componentDidMount函數中改變的任何東西 –