相关疑难解决方法(0)

如何将变量传递给GraphQL查询?

让我们假设我在React-Apollo中有以下GraphQL查询

const CurrentUserForLayout = gql`
  query CurrentUserForLayout($avatarID: Int!) {
    currentUser {
      avatar_url(avatarID: $avatarID)
    }
  }
`;

const ProfileWithData = graphql(CurrentUserForLayout, {
  options: { variables: { avatarID: 1 } },
})(Profile);
Run Code Online (Sandbox Code Playgroud)

现在,如果我想让我的React组件Profile更改avatarID,

我该怎么办?

我是React和GraphQl的新手,我不太明白这里的连接:

graphql(CurrentUserForLayout, {
      options: { variables: { avatarID: 1 } },
    })(Profile);
Run Code Online (Sandbox Code Playgroud)

我真的需要另一个父组件ProfileWithData 来传递另一个父组件avatarID吗?但是,如果ID由Profile组件操纵,我如何让Parent组件知道呢?

reactjs react-apollo

11
推荐指数
2
解决办法
1万
查看次数

将变量从输入传递给grapql搜索调用

我正在学习graphql和react-apollo.我在我的代码中设置了一个搜索查询.我不确定如何将代码(即this.state.search)中的变量传递给我的grapnql调用.

我看过很多答案,包括这个答案,但似乎有点不同.

文档似乎也没有给出关于如何使用state作为变量的任何指导.

我的代码如下.

任何人都可以建议如何连接这两个?

import React, { Component} from 'react'
import { graphql } from 'react-apollo'
import gql from 'graphql-tag'

class Search extends Component {

  constructor(props) {
    super(props)
    this.state = {
      search: ''
    }
  }

  updateSearch = (e) => {
    this.setState({
      search: e.target.value
    })
  }

  submitSearch = (e) => {
    e.preventDefault()
    console.log(this.state)
  }

  render() {

    const { search } = this.state;

    return (
      <form onSubmit={ this.submitSearch }>
        <input 
          type='text'
          onChange={ this.updateSearch }
          value={ search …
Run Code Online (Sandbox Code Playgroud)

javascript reactjs graphql react-apollo

9
推荐指数
1
解决办法
1681
查看次数

标签 统计

react-apollo ×2

reactjs ×2

graphql ×1

javascript ×1