【问题标题】:When trying to call Apollo Client Query, I am always getting loading: true,networkStatus: true尝试调用 Apollo 客户端查询时,我总是加载:true,networkStatus:true
【发布时间】:2018-09-01 18:18:41
【问题描述】:

查询:

HOUSEDETAIL : gql`
query houseDetail($_id:ID){
 houseDetail(_id:$_id) {
   address
   address1
   street
   phoneNumber
   houseNo
 }
}
`,

尝试调用 apolloClient 时 React 中的代码:

    const Page2 = compose(graphql(query.HOUSEDETAIL,{name:'houseDetail', options: (props) => ({variables: {_id:props.houseAddress._id,fetchPolicy: 'network-only'}})})) (Dashboard) 

浏览器控制台中的错误如下所示:

        props{"houseAddress":{},"houseDetail":{"variables":{"fetchPolicy":"network-only"},"loading":true,"networkStatus":1}}

【问题讨论】:

标签: reactjs react-apollo apollo-client


【解决方案1】:

这似乎是一个常见问题,通常通过添加 notifyOnNetworkStatusChange: true 解决

在您的特定场景中:

const Page2 = compose(
  graphql(
    query.HOUSEDETAIL,
    {
       name:'houseDetail', 
       options: (props) => ({
         variables: { 
           _id:props.houseAddress._id
         }, // ====> this bracket was also misplaced on your example code
         fetchPolicy: 'network-only',
         notifyOnNetworkStatusChange: true
       })
    }
  )
)(Dashboard) 

更多关于 notifyOnNetworkStatusChange 的信息可以在 ReactApollo docs 中找到:

【讨论】:

    猜你喜欢
    • 2020-04-11
    • 2018-02-09
    • 2022-01-21
    • 2023-03-07
    • 2021-03-20
    • 2017-04-07
    • 2021-06-01
    • 2021-03-20
    • 2020-06-14
    相关资源
    最近更新 更多