Olá estou com um problema que está me deixando confuso:
meu front end:
> import React, { Component } from 'react';
> import {Form,FormGroup, Label, Input, Button, Alert} from 'reactstrap';
> import Header from '../../components/header';
>
> export default class Login extends Component {
>
> constructor(){
> super()
> this.state = {
> message: '',
> }
> }
>
> signIn = () => {
> const data = {login:this.login,password:this.password};
> console.log(data);
>
> const requestInfo = {
> method:'POST',
> body: JSON.stringify({data}),
> headers: new Headers({
> 'Content-Type': 'application/json'
> }),
> };
> fetch('http://localhost:9000/login', requestInfo)
> .then(response => {
> if(response.ok){
> return response.json();
> }
> throw new Error("Login Invalido..")
> })
> .then(token => console.log(token))
> .catch(e =>
> this.setState({message: e.message})
> );
> }
>
> render(){
> return(
> <div className="col-md-6">
> <Header title="ReactJS Login"/>
> <hr className="my-3"/>
> {
> this.state.message !== ''? (
> <Alert color="danger" className ="text-center"> {this.state.message}</Alert>
> ) : ''
> }
> <Form>
> <FormGroup>
> <Label for="login">Login</Label>
> <Input type="text" id="login" onChange={e => this.login = e.target.value } placeholder="Informe seu login" />
> </FormGroup>
> <FormGroup>
> <Label for="password">Senha</Label>
> <Input type="text" id="password" onChange={e => this.password = e.target.value } placeholder="Informe sua senha"/>
> </FormGroup>
> <Button color="primary" black onClick={this.signIn}> Entrar </Button>
> </Form>
> </div>
> );
> }
> }
ele chega no meu backend entra no meu metodo de senha e jwt
async signin(data){
console.log("entrou em signin");
const response = {
login:{
id:null,
isValid: false,
message: "Login inválido"
}
};
console.log("entrou em datalogin e password");
console.log(data);
console.log(data.login);
if(data.login && data.password){
const login = data.login;
const password = data.password;
try {
const result = await this.Users.findOne({where:{ login }})
const user = await result;
if(user){
const correctPassword = await this.Users.isPassword(user.password, password)
console.log('Verificação da Senha - > ' + correctPassword);
if(correctPassword){
response.login.id = user.id;
response.login.isValid = correctPassword;
response.login.message = "Logado com sucesso";
return response;
}
}
} catch (error) {
console.error(error);
}
}
return response;
}
mas dando console.log no que vem no meu front-end:
{ data: { login: ‘xdxd’, password: ‘xdxd’ } }
mas quando eu pego
console.log(data.login);
fica undefined
não faço ideia do motivo.