Не удается прослушать события AWS Amplify Hub - PullRequest
0 голосов
/ 26 марта 2020

Я пытаюсь прослушать AWS События Amplify Auth в моем приложении React Native, используя Amplify Hub, как объяснено в документации .

Вот компонент, который я могу подписать вход и выход из системы:

import React, {useEffect} from 'react';
import {Button, Container, Content, Text} from 'native-base';
import {StyleSheet} from 'react-native';
import {Hub} from '@aws-amplify/core';
import Auth from '@aws-amplify/auth';

export default function Test() {
  useEffect(() => {
    const listener = data => {
      console.log('EVENT!!!');

      switch (data.payload.event) {
        case 'signIn':
          break;
        case 'signUp':
          break;
        case 'signOut':
          break;
        case 'signIn_failure':
          break;
        case 'configured':
      }
    };

    Hub.listen('auth', listener);
    console.log('SUBSCRIBED!!!');
  }, []);

  return (
    <Container>
      <Content contentContainerStyle={styles.container}>
        <Button
          onPress={() => {
            Auth.signIn({
              username: 'Foo',
              password: 'Bar',
            })
              .then(user => console.log(user))
              .catch(err => console.log(err));
          }}
          style={styles.button}>
          <Text>SignIn</Text>
        </Button>
        <Button
          onPress={() => {
            Auth.signOut().catch(err => console.log(err));
          }}
          style={styles.button}>
          <Text>SignOut</Text>
        </Button>
      </Content>
    </Container>
  );
}

В консоли (я использую Expo) я вижу, что пользователь нажимает кнопку «ПОДПИСАТЬСЯ !!!», когда нажимает на кнопку. также появляется, но не сообщение «СОБЫТИЕ !!!».

Спасибо за вашу помощь.

РЕДАКТИРОВАТЬ

Я попытался импортировать концентратор и Auth без модульного импорта:

import {Auth, Hub} from 'aws-amplify';

вместо

import {Hub} from '@aws-amplify/core';
import Auth from '@aws-amplify/auth';

, и он работает.

Знаете ли вы, как использовать Hub с модульным импортом?

...