Показать список пользователей из AWS AppSync API? - PullRequest
1 голос
/ 21 октября 2019

Я пытаюсь получить список пользователей из API, созданного с помощью AWS AppSync, но список пользователей не отображается в моем приложении. Я не уверен, что это потому, что моя схема не была правильно создана в AWS или мой API не был правильно интегрирован в мое приложение?

ConvoScreen.JS

import { API, graphqlOperation } from 'aws-amplify'
import { View } from 'react-native'


class ConvoScreen extends Component {
  state = { users: [] }
  async componentDidMount() {
    try {
      const apiData = await API.graphql(graphqlOperation(getUsers))
      const Users = apiData.data.getUsers.items
      this.setState({ users })
    } catch (err) {
      console.log('error: ', err)
    }
  }
  render() {
    return (
      <View className="ConvoScreen">
      </View>
    );
  }
}




export default ConvoScreen;

App.Js

import AppNavigator from './pages/AppNavigator'
import { createAppContainer } from 'react-navigation';
import Amplify, { Auth} from 'aws-amplify';

const myAppConfig = {
    'aws_appsync_graphqlEndpoint': 'https://xxxxxx.appsync-api.us-east-1.amazonaws.com/graphql',
    'aws_appsync_region': 'us-east-1',
    'aws_appsync_authenticationType': 'API_KEY',
    'aws_appsync_apiKey': 'da2-xxxxxxxxxxxxxxxxxxxxxxxxxx',
}

Amplify.configure(myAppConfig);


const AppContainer = createAppContainer(AppNavigator)


class App extends React.Component {
  state = {
    isAuthenticated: false
  }

  authenticate(isAuthenticated) {
    this.setState({ isAuthenticated })
  }
  render() {
    if (this.state.isAuthenticated) {
      console.log('Auth:', Auth)
    }
    return (
      <AppContainer/>
    );
  }

}

export default App;

1 Ответ

0 голосов
/ 22 октября 2019

Я не вижу здесь импорта или декларации для getUsers, это генерируемый Amplify / GQL Transformer метод listFoo (на основе сканирования), запрос для пользовательского GSI, созданного с помощью директивы @key, или пользовательобъявленный запрос?

Кроме того, что показывает вкладка Сеть в Devtools при запуске команды Amplify API (ConvoScreen.componentDidMount)?

Наконец, для чего нужны ваши директивы @authкак выглядит ваша модель пользователя?

Трудно отлаживать, не зная этих вещей.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...