Компонент запросов GraphQL не дает результатов или ошибок

Я использую graphql HOC немного без особых проблем, но я пытаюсь начать использовать новый компонент <Query />, но у меня возникла проблема. Я слежу за документами здесь, но не получаю никаких результатов. Я знаю, что в запросе gql я запрашиваю больше, чем хочу отобразить, но пока я просто пытаюсь отобразить как можно меньше, чтобы знать, что это работает. Прямо сейчас, когда код запускается, я не получаю <ActivityIndicator />, я не получаю сообщение об ошибке, я просто получаю пустое место, куда должны идти данные.

Весь мой код в этом компоненте ниже. Может ли кто-нибудь увидеть причину, по которой я ничего не придумываю? Я запускаю этот запрос (без части User($id String!) и передаю фактический идентификатор) через игровую площадку graph.cool, и он выдает ожидаемые данные.

import React, { Component } from 'react';
import { StyleSheet, Text, ActivityIndicator, View } from 'react-native';
import { Container, Content, Icon, Button } from 'native-base';
import { withApollo, Query } from 'react-apollo';
import gql from 'graphql-tag';

import theme from '../../styles/theme';
import KoviHeader from '../../layout/KoviHeader';
import FooterTabs from '../../layout/FooterTabs';
import { signOut } from '../user/loginUtils';

const GET_USER_DETAILS = gql`
    query User($id: String!){
        user(id: $id) {
            id
            propertyNotes {
                title
                body
                property {
                    id
                    propertyName
                    createdAt
                }
            }
        }
    }
`;

class Dashboard extends Component {

    render() {

        const { screenProps } = this.props;

        return (
            <Container style = {styles.container}>
                <KoviHeader
                    title='Dashboard'
                    navigation = {this.props.navigation}
                />

            <Content>

                <Query query = {GET_USER_DETAILS} variables = {{id: screenProps.user.id}}>
                    {({ loading, error, data }) => {

                        if (loading) return <ActivityIndicator size = "large" />;
                        if (error) return `Error! ${error}`;

                        return (
                            <View>
                                {data.user.map(u => {
                                    <Text>{u.id}</Text>
                                })}
                            </View>
                        )
                    }

                    }
                </Query>

                <Button
                    full
                    style = {styles.button}
                    onPress = {() => {
                        signOut()
                        this.props.client.resetStore();
                        }
                    }
                >
                    <Text style = {styles.buttonText}>Logout</Text>
                </Button>
            </Content>

                <FooterTabs
                    activeBtn='dashboard'
                    navigation = {this.props.navigation}
                />
        </Container>

        )
    }
}

const styles = StyleSheet.create({
    container: {
        flex: 1,
        justifyContent: 'flex-end'
    },
    button: {
        backgroundColor: theme.COLOR_ORANGE,
    },
    buttonText: {
        color: '#fff',
        fontWeight: 'bold'
    }
})

export default withApollo(Dashboard);

что вы получаете в ответ?

aravind_reddy 18.09.2018 07:26

Я ничего не получаю, ни ошибки, ни загрузки, ни данных.

minusthebear02 18.09.2018 23:38

Вы проверили в сети браузера какой ответ

aravind_reddy 18.09.2018 23:40

Я не уверен, что есть способ проверить сеть в приложении React Native, не так ли?

minusthebear02 19.09.2018 04:27

Итак, я только что понял, что у меня есть тип String! в настройке параметра $id, тогда как он должен быть ID!. Это всегда что-то такое маленькое, не так ли?!? В любом случае спасибо за помощь @aravind_reddy

minusthebear02 19.09.2018 04:45

Лол, наконец, ты все равно это понял.

aravind_reddy 19.09.2018 04:46
Умерло ли Create-React-App?
Умерло ли Create-React-App?
В этом документальном фильме React.dev мы исследуем, мертв ли Create React App (CRA) и какое будущее ждет этот популярный фреймворк React.
Освоение React Native: Пошаговое руководство для начинающих
Освоение React Native: Пошаговое руководство для начинающих
React Native - это популярный фреймворк с открытым исходным кодом, используемый для разработки мобильных приложений. Он был разработан компанией...
В чем разница между react native и react ?
В чем разница между react native и react ?
React и React Native - два популярных фреймворка для создания пользовательских интерфейсов, но они предназначены для разных платформ. React - это...
От React к React Native: Руководство для начинающих по разработке мобильных приложений с использованием React
От React к React Native: Руководство для начинающих по разработке мобильных приложений с использованием React
Если вы уже умеете работать с React, создание мобильных приложений для iOS и Android - это новое приключение, в котором вы сможете применить свои...
Хуки React: что это такое и как их использовать
Хуки React: что это такое и как их использовать
Хуки React - это мощная функция библиотеки React, которая позволяет разработчикам использовать состояние и другие возможности React без написания...
0
6
186
0

Другие вопросы по теме