AWS усилить аутентификацию Пользовательская регистрация не может отображать неопределенный - PullRequest
0 голосов
/ 27 июня 2019

Обучение использованию aws усиливается, и я хочу переопределить их компонент регистрации, следуя примеру, который я нашел, но я продолжаю получать неопределенную ошибку ниже.Для пула пользователей Cognito требуется, чтобы пользователь зарегистрировался по электронной почте в качестве имени пользователя и атрибута имени.

Вот мой компонент регистрации.

import React from "react";
import { SignUp } from "aws-amplify-react";

export class CustomSignUp extends SignUp {
    constructor(props) {
      super(props);
      this._validAuthStates = ["signUp"];
      this.state = {
        userName: 'test',
        password: 'MyTest123!',
        email: 'test@gmail.com',
        phoneNumber: '1231231234'
      };
    }

    handleSubmit = async (event) => {
        event.preventDefault();
        console.log(this.state);
        const response = await super.signUp({
            username: this.state.email, 
            password: this.state.password, 
            attributes: {
              email: this.state.email, 
              phone_number: this.state.phone,
              name: this.state.userName
            }
          });
        console.log(response);
    }

    showComponent(theme) {
      return (
          <form onSubmit={this.handleSubmit}>
            <input
            type="text"
            value={this.state.userName}
            onChange={event => this.setState({ userName: event.target.value })}
            placeholder="Enter your username"
            required
            />
            <input
            type="text"
            value={this.state.password}
            onChange={event => this.setState({ password: event.target.value })}
            placeholder="Enter your password"
            required
            />
            <input
            type="text"
            value={this.state.email}
            onChange={event => this.setState({ email: event.target.value })}
            placeholder="Enter your email"
            required
            />
            <button>Sign up</button>
        </form>
      );
    }
  }

Ошибка:

Uncaught (in promise) TypeError: Cannot read property 'map' of undefined
at CustomSignUp.SignUp.validate (SignUp.js:94)
at CustomSignUp.SignUp.signUp (SignUp.js:203)
...