【问题标题】:this.props.relay.setVariables() doesnt fetch new results (but change variable as well)this.props.relay.setVariables() 不会获取新结果(但也会更改变量)
【发布时间】:2017-03-21 21:13:59
【问题描述】:

我不知道我做错了什么,但我无法通过更改变量重新获取新范围。

这是我的中继容器代码的一部分(最初运行良好并获取前 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
              }
            }
          }
        }
      }
    `
  },
});

这里是 React 组件的一部分,它改变了继电器变量:

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>
    );
  }
}

【问题讨论】:

    标签: reactjs graphql relay


    【解决方案1】:

    我知道出了什么问题。 pageInfo 数据对分页很重要。我只是将pageInfo 添加到查询中,一切正常。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-04-16
      • 1970-01-01
      • 1970-01-01
      • 2018-04-22
      • 2022-06-14
      • 2018-11-30
      • 2012-08-18
      • 1970-01-01
      相关资源
      最近更新 更多