2017-12-07 5 views
0

私はreact jsを使ってWebを構築します。私は非常に反応するので、私は問題をCRUDを持っている新しいです。最初の私はテーブルにいくつかのデータjsonを表示したい。私はkeranjang.jsという名前のファイル.jsを持っています。テーブルを表示するためにjsxが含まれています。 barang.jsという名前の別のものがあり、tampildata()という名前のメソッドで埋めて、jsonデータを保持する場合は、たとえば{"nama_barang" : "bolu", "harga" : "10000"}とします。どのようにメソッドを記述しますか?メソッドとデータを呼び出して、そのデータを既存のテーブルに表示させるには、keranjang.js?誰もが私を助けることを願ってデータをjsonと表を反応させて表示する

+0

既に試した内容を示すコードを投稿できますか? –

+0

jsonを返す1つのjsファイルに存在するメソッドにアクセスしようとしていて、そのjsonをテーブルuiを持つ別のjsファイルに表示したいとします。正しい? –

+0

はい、あなたは仲が良いです –

答えて

2

現在のコンポーネントで外部ファイルのメソッドを呼び出そうとしています。あなたのbarang.jsファイルで

export function tampildata() { 
    return [{ "firstname": "first", "lastname": "f"}, {"firstname": "second", "lastname": "l"}]; 
} 

または

export default { 
    tampildata() { 
    return [{ "firstname": "first", "lastname": "f"}, {"firstname": "second", "lastname": "l"}]; 
    } 
}; 

のようなJSONデータは、その後、あなたのkeranjang.jsファイルにあなたのtampildata方法をインポートし、componentDidMountでそのメソッドを呼び出し、

以下のような状態を設定保持し、あなたの関数をエクスポート
import React from 'react'; 
import ReactDOM from 'react-dom'; 
import { tampildata } from 'barang'; 

class TableComponent extends React.Component { 
    constructor(props) { 
     super(props) 
     this.state = { 
      json: [] 
     } 
    } 

    componentDidMount() { 
     this.setState((prevState) => { 
      return { 
       json: tampildata() 
      } 
     }) 
    } 

    render() { 
     return (
      <div> 
       <table> 
        <thead> 
         <th>First Name</th> 
         <th>Last Name</th> 
        </thead> 
        <tbody> 
         {this.state.json.map((data, i) => { 
          return (
           <tr key={i}> 
            <td>{data.firstname}</td> 
            <td>{data.lastname}</td> 
           </tr> 
          ) 
         })} 
        </tbody> 
       </table> 
      </div> 
     ) 
    } 
} 


ReactDOM.render(
    <TableComponent />, 
    document.getElementById("app") 
); 

ここには作業jsfiddleがあります。これがあなたに役立つことを願っています!

+0

ねえ、しかし、私は最初の.jsファイルからメソッドをエクスポートすることに問題があります。どのようにメソッドをエクスポートするには?これは..export関数ですtampildata(){} ..それを書いていますか?エラーがあるためです"予期しないトークン"といいます。 –

+0

はい、 'export function tampildata(){}'メソッドとインポートメソッドを 'barang ';' import {tampildata}'としてインポートします。 –

+0

あなたに役立つ最新の回答をご覧ください!あなたのwebpack設定に 'presets:['es2015'、 'react'、 'babel-preset-stage-0']'があることを確認してください。 –

関連する問題