#reactjs #auth0
Вопрос:
У меня есть несколько маршрутов в моем приложении, и я добавил Auth0 в Header.js (дитя App.js), чтобы пользователь мог оставаться в системе среди всех маршрутов. Я также смог получить объект поддержки пользователя Auth0 (имя, адрес электронной почты и изображение) для создания учетных записей пользователей в моей базе данных. Теперь в другом дочернем компоненте App.js (Feed.js), я пытаюсь использовать электронное письмо от Auth0 props в качестве параметра запроса для отправки запроса GET в базу данных, но каждый раз, когда я это делаю, я либо получаю сообщение об ошибке (пользователь не найден), либо не определен. Feed.js код выглядит так:
import React, { Component } from 'react'
import axios from "axios";
import { withAuth0 ,auth0} from '@auth0/auth0-react';
class Feed extends Component {
constructor(props){
super(props);
this.state={
userdata:[]
}
}
getdata = async() => {
await axios
.get(`http://localhost:1177/getuser?email=this.props.auth0.user.email`)
.then((res) => {
this.setState({
userdata: res.data,
});
});
};
render() {
this.getdata();
return (
<div>
<img src={this.state.userdata.pp} alt={this.state.userdata.username} />
<h1>{this.state.userdata.username}</h1>
<h1>{this.state.userdata.email}</h1>
</div>
)
}
}
export default withAuth0(Feed)
Итак, есть какие-нибудь идеи о том, как это сделать?
Ответ №1:
Возможно, у вас возникла ошибка, поскольку выражение, используемое в литерале шаблона, неправильно введено между знаком доллара и фигурными скобками в запросе GET.
Попробуй это:
`http://localhost:1177/getuser?email=${this.props.auth0.user.email}`;