import React, { Component } from 'react';
//import fire from '../firebase/Fire';
import { ApolloProvider } from 'react-apollo';
import ApolloClient from 'apollo-boost';
import Restaurants from '../restaurants/Restaurants';
import { auth } from '../firebase';
import firebase from '../firebase/firebase'
export const client = new ApolloClient({
uri : 'https://eatmealfirstadminapi.leafycode.com/',
request: async operation => {
if(firebase.auth().currentUser){
const token=await firebase.auth().currentUser.getIdToken(/* forcefresh */true);
operation.setContext({
headers:{
CountryCode: "LK",
authorization: token
}
});
}
}
});
class Home extends Component {
constructor(props) {
super(props);
this.logout = this.logout.bind(this);
//console.log(this.authLink.headers.authorization);
//this.authLink.headers.authorization=this.props.token;
}
logout() {
firebase.auth().signOut();
this.props.history.push("/authentication/login2");
}
render() {
return (
<ApolloProvider client={client} >
<div className="container">
<div>
<h1>Restaurant List</h1>
<button onClick={this.logout}>Logout</button>
<Restaurants />
</div>
</div>
</ApolloProvider>
);
}
}
export default Home;
снимок экрана компонента
Я использую какой-то шаблон для создания админ-панели, есть страница входа в firebase, а затем, если проверить погоду, в которой выполняется вход, прежде чем нет, а затем, если этот вход в систему перед переходом на панель инструментов, в противном случае он перейдет на страницу входа, поэтому, когда я иду на панель инструментов у меня есть ссылки на другую боковую панель, чтобы перейти к другим конечным точкам маршрута, отличным от панели мониторинга, поэтому, как только перейдите на панель мониторинга, а затем щелкните ссылку другой конечной точки маршрута и просмотрите эти детали. Но как только я обновлю эту страницу, я смогу увидеть данные в там, так что он показывает сообщение об ошибке, как [GraphQL error]: Message: Not Authorised!, Location: [object Object], Path:
рестораны, но еще раз перейти к конечной точке этой панели, а затем перейти к другой ссылке, она показывает там данные, мне нужно знать, почему это происходит, и мне нужно исправить это