Bagaimana cara memasukkan respons Json ke dalam tabel desain semut kosong?

Saya cukup baru dalam bereaksi dan ingin memasukkan respons json yang saya dapatkan dari api ke tabel desain semut yang kosong dan saya tidak tahu cara melakukannya?

saya telah memetakan id dengan nama tetapi juga ingin semua kolom lainnya dan ke dalam format tabel desain semut.

Tanggapan JSON

[
    {
        "id": 9685,
        "name": "Mukesh  Rai",
        "count of sub": 3,
        "count of int": 2,
        "count of po": null
    },
    {
        "id": 2085,
        "name": "Abhyudaya Singh Panwar",
        "count of sub": 1049,
        "count of int": 17,
        "count of po": 5
    },
    {
        "id": 7087,
        "name": "Amit Kumar Sharma",
        "count of sub": 363,
        "count of int": 68,
        "count of po": 10
    },
    {
        "id": 2100,
        "name": "Aditya Kumar",
        "count of sub": 724,
        "count of int": 5,
        "count of po": 1
     }
]

berkas komponen

  componentDidMount(){
    axios.get("http://127.0.0.1:8000/marketer_details/")
      .then(response=>{
        console.log(response)
        this.setState({posts: response.data})
      })
      .catch(error=> {
        console.log(error)
      })
    }

render() {
    const { posts } = this.state
    return(
      <div>
        List of Posts
        {
          posts.length ?
          posts.map(post => <div key = {post.id}>{post.name}</div>) : 
          null
        }
      </div>
    )

//Ingin semua kolom lainnya juga

    render(){
    const columns = [
      {
        title: 'Name',
        dataIndex: 'name',
        key: 'name',
        width: '30%',
        ...this.getColumnSearchProps('name'),
      },
      {
        title: 'Count of Submissions',
        dataIndex: 'Count',
        key: 'sub',
        width: '20%',
        ...this.getColumnSearchProps('sub'),
      },
      {
        title: 'Count of Interviews',
        dataIndex: 'Count',
        key: 'int',
        ...this.getColumnSearchProps('int'),
      },
      {
        title: 'Count of PO',
        dataIndex: 'Count',
        key: 'po',
        ...this.getColumnSearchProps('po'),
      },
    ];
    return <Table columns={columns} dataSource={this.state.posts} />;
  }
}
}
export default App

Saya tidak dapat memahami bagaimana pemetaan berganda dapat dilakukan terhadap setiap baris kolom.


person Hrithik Baishakhiya    schedule 17.06.2019    source sumber
comment
Kenapa Anda memiliki dua pernyataan return untuk fungsi tersebut?   -  person Agney    schedule 17.06.2019
comment
Maaf, saya mencoba menggambarkan apa yang telah saya lakukan dan tidak terkotak-kotak   -  person Hrithik Baishakhiya    schedule 17.06.2019
comment
Dataindex harus cocok dengan nama properti json Anda.. Dan tambahkan satu lagi tanda loading: true di status Anda dan setel ke false saat data dimuat... Awalnya data Anda menunjukkan pemuatan dan setelah Anda mendapatkan data dari backend maka akan menampilkan data ‹ Kolom tabel={kolom} memuat={ini.negara bagian.memuat} sumber data={negara bagian ini.posting} /›   -  person Hemanthvrm    schedule 17.06.2019


Jawaban (1)


Komponen Table menggunakan struktur kolom sebagai argumen.

Di sini, dataIndex mengacu pada indeks dalam data yang akan direferensikan untuk kolom, key dimaksudkan untuk tetap unik di seluruh nama kolom.

Dalam kasus Anda, array kolom dapat berupa:

const columns = [
    {
      name: "Name",
      dataIndex: "name"
    },
    {
      name: "Count of submissions",
      dataIndex: "count of sub"
    },
    {
      name: "Count of interviews",
      dataIndex: "count of int"
    },
    {
      name: "Count of PO",
      dataIndex: "count of po"
    }
  ];

Demo Codesandbox

person Agney    schedule 17.06.2019
comment
Tapi masalahnya adalah bagaimana cara memasukkan data json mentah ke kolom ini?? Haruskah saya mengulangi daftar dan memasukkan data atau adakah cara lain yang bisa saya lakukan?? - person Hrithik Baishakhiya; 17.06.2019
comment
Untuk itulah Anda menggunakan bidang dataSource, masukkan json mentah ke bidang itu - person Agney; 17.06.2019
comment
Anda tidak perlu melakukan apa pun, atribut dataSource={this.state.posts} ini akan beres - person Hemanthvrm; 17.06.2019
comment
tapi menurut saya itu tidak akan mengambil data dari api dan memasukkannya ke kolom berikutnya - person Hrithik Baishakhiya; 17.06.2019
comment
@HrithikBaishakhiya itu akan melakukan itu - person Agney; 17.06.2019