【问题标题】:React Apollo data directly to React Context将 Apollo 数据直接反应到反应上下文
【发布时间】:2019-03-31 22:36:07
【问题描述】:

我有一个标准的 react-apollo graphql 查询:

<Query query={USER_QUERY} variables={{ user: userId }}>
  {
    ({ loading, error, data }) => {
    if (loading) return <p>Loading…</p>
    if (error) return <p>An Error Occurred</p>
    return (
      <div>
        Data back from gql available!
      </div>
    )}
  }
</Query>

但我不确定如何通过 React 上下文共享获取的数据。我知道我可以将数据直接放入提供程序:

<Query query={USER_QUERY} variables={{ user: userId }}>
  {
    ({ loading, error, data }) => {
    if (loading) return <p>Loading…</p>
    if (error) return <p>An Error Occurred</p>
    return (
      <MyContext.Provider value={data}>
        Data back from gql available!
      </MyContext.Provider>
    )}
  }
</Query>

但这似乎无法提供处理缓存和其他数据相关问题的最佳能力。是否有更标准化的方法来处理必须相当常见的用例?

【问题讨论】:

    标签: reactjs apollo react-context


    【解决方案1】:

    我曾认为这是 react-apollo 的替代方案 - 我错过了 react-apollo 扩展了基本客户端库,您可以在其中简单地执行此操作:

    client.query({
      query: gql`
        query {
          user {
            id
          }
        `,
        variables: { ...vars },
      })
      .then(res => console.log(res)
      .catch(err => console.log('an error occurred: ', err)
    

    【讨论】:

      猜你喜欢
      • 2021-08-01
      • 1970-01-01
      • 1970-01-01
      • 2017-04-12
      • 1970-01-01
      • 1970-01-01
      • 2021-12-14
      • 2021-10-30
      • 1970-01-01
      相关资源
      最近更新 更多