Я использую Apollo с React Native и делаю запрос, чтобы получить пользовательские данные с его идентификатором, который хранится в виде prop.Это запрос:
const GET_USER_DATA = gql`
query User($id: ID!) {
User(id: $id) {
id
name
}
}`;
, затем этот код
const User = ({ userId }) => {
console.log("User id: ", userId);
return (
<Query query={GET_USER_DATA} variables={{ userId }}>
{({ loading, error, data }) => {
if (loading) return <Text>Loading ...</Text>;
if (error) return <Text>Error!: {error}</Text>;
return (
<Text>Text: {data}</Text>
);
}}
</Query>
);
}
, а затем, если реквизит существует, я добавляю это:
<User userId={this.props.data.loggedInUser.id} />
Чтобы показать вид,Но я получаю эту ошибку
Error: GraphQL error: Variable '$id' expected value of type 'ID!' but
value is undefined. Reason: Expected non-null value, found null.
Я проверяю, что у userId есть значение, и значение напечатано, я могу видеть это.Что я делаю не так?