2016-11-08 8 views
0

私は何が間違っているのか分かりませんが、変更変数を使用して新しい範囲を再作成することはできません。ここでthis.props.relay.setVariables()は新しい結果を取得しませんでしたが(変数も変更します)

は(初期にはそれがうまく機能し、最初の5件の結果をフェッチ)私のリレーコンテナコードの一部です:ここで

export const Account = Relay.createContainer(_Account, { 
    initialVariables: { 
    activities: 5 
    }, 

    fragments: { 
    account:() => Relay.QL` 
     fragment on NodeInterface { 
     id 
     ... on Member { 
      activities(first: $activities) { 
      totalCount 
      edges { 
       node { 
       id 
       } 
      } 
      } 
     } 
     } 
    ` 
    }, 
}); 

は、可変リレー変更内容をコンポーネントに反応の一部です:

export class _Account extends React.Component { 

    constructor(props) { 
    super(props); 
    this.state = { 
     activities: 5 
    }; 
    } 

    loadMoreActivities(e) { 
    e.preventDefault(); 
    this.setState((state,props) => { 
     const next = state.activities + 5; 
     this.props.relay.setVariables({ 
     activities: next 
     }); 
     return { activities: next } 
    }); 
    } 

    render() { 
    return (
     <div> 

       <div>{ this.state.activities.toString() } - { this.props.relay.variables.activities.toString() }</div> 
       <ProfileActivityList 
       activities={this.props.account.activities} 
       loadMore={this.loadMoreActivities.bind(this)} /> 
       } 
     </div> 
    ); 
    } 
} 

答えて

0

私は何が間違っているのか理解する。 pageInfoデータはページ設定に重要です。私はクエリにpageInfoを追加するだけで、すべてが例外として機能します。

関連する問題