2017-03-17 3 views
0

私は新しい反応をして、問題に直面して、私のAPIページをナビゲートしようとしました。私がやったこと:http://pastebin.com/hxf9PJ8k それは私の意見では完全に動作しますが、最初のapiページだけを表示します。すべてのユーザープロフィールへのリンクも機能しています.APIリンクにIDを追加するだけで簡単でした。だから、私のAPIは、実際にユーザーであるオブジェクトと、データベース内のユーザーの総数と、次のページが存在する場合のリンク数、またはnullと前のページまたはnullを返します。今私は2つのボタンを作成するためにそれらのリンクを使用する方法を理解できません - 次と前。リンク全体を渡すか、ユーザーの小道具にpage=の部分だけを渡してxhrをリクエストする方法。 Apiのサンプル表示: count: 2302 next: "http://localhost:8080/instant/api/?page=2" previous:
results:
0: Object 1: Object 2: Object
ありがとうございます!反応ルータのナビゲートリンクからの残りのAPI

答えて

0

基本的には、現在のページ変数を作成して、ロジックを非常に簡単にすることです。 以前ボタンの

はそれをシンプルに保つために親コンポーネント上の任意のクリックイベントを処理し、ページング条件を処理するための独立したコンポーネントを作成します。

class PrevBtn extends React.Component { 
    constructor(props){ 
     super(props); 
     this.props.clickHandler = this.props.clickHandler.bind(this); 
    } 

    render() { 
     let button = null; 
     const {currentPage} = this.props; 

     if(currentPage>1){ 
      button = <a onClick={this.props.clickHandler}>Prev</a> 
     }else{ 
      button = <a disabled="disabled">Prev</a> 
     } 
     return(<div>{button}</div>) 
     } 
    } 

私はちょうどcodePenにあなたのための例をしましたが、私はちょうどPREVボタンロジックをした、あなたはボタンコンポーネントを行うにはどのようにそれを把握することができます。

+0

答えをありがとう。私は反応の中では本当に初心者です.Childコンポーネントに次のコンポーネントや以前のコンポーネントの状態をどのように渡すのか把握していません。問題は、私はAPIから来るリンクを使用することができないということです。たとえば、次のページへのリンクはdomain/api /?page = 2です。このリンクをどのようにして現在のリンクの代わりにユーザーに渡し、ユーザーのコンポーネントをAPIの新しいデータで再ロードできますか?私のぼんやりした説明に申し訳ありません。 – conformist

+0

前と次のvarを渡すのではなく、現在のページを扱う変数を使うのではなく、いくつかのナビゲーション条件に基づいて、前または次がユーザーを有効にするかどうかを計算します。あなたの状態が変わるたびに、あなたのAPIから対応するデータを取得する必要があります。 –

+0

あなたのAPIクライアントで設定されるので、リンク、URLの点で薄くしないでください。現在のページに関して考える –

関連する問題