Не удалось передать параметры в запрос в apollo - PullRequest
0 голосов
/ 12 ноября 2018

У меня есть рабочий запрос прямо здесь

 const getCicadaByUserIdQuery = gql`
 query($id:String){
  user(id:$id){
    id
    userName
    password
      cicadas {
        name
        id
        image
        long
        lat
        userid
      }
  }
}`

При передаче действительного идентификатора пользователя в localhost он вернет данные, как и ожидалось.Что я пытаюсь сделать, это передать параметр определенной базы пользователей вошедшему в систему пользователю

export default compose(
 graphql(getCicadasQuery,{name:"getCicadasQuery"}),
 graphql(addCicadaMutation,{name:"addCicadaMutation"}),
 graphql(getCicadaByUserIdQuery,{
    name:"getCicadaByUserIdQuery",
    options: () => ({ variables: { id: getLoginUser().id } })

 }),
 graphql(getUsersQuery,{name:"getUsersQuery"}),
)(CicadaScoutScreen)

getLoginUser () - простая функция, которая возвращает данные текущего пользователя для входа в систему.

И я звоню по этому запросу:

this.props.getCicadaByUserIdQuery

, пожалуйста, помогите, кажется, я не могу заставить его работать

1 Ответ

0 голосов
/ 14 ноября 2018

Если он работает с localhost, но не на вашем работающем сервере, возможно, это связано с тем, как работает функция getLoginUser().

Вы можете console.log выводить эту функцию для отладки следующим образом: graphql(getCicadaByUserIdQuery,{ name:"getCicadaByUserIdQuery", options: () => { console.log(getLoginUser()); return { variables: { id: getLoginUser().id } }; } }),

Если он работает в localhost, то, вероятно, это не проблема самого Apollo Client.

...