Ich habe Probleme zu verstehen, wie Sie den Status aus einer Callback-Funktion setzen.Update-Status basierend auf Google Places API-Aufruf
Google standardmäßig gibt uns diesen Code zu get data from their place API
Was will ich wissen, ist:
Wie kann ich Zustand hier von „isOpen“ aktualisieren basierend auf den empfangenen Daten aus dieser API?
- ich nicht „this.setState“ als ‚das‘ bezieht sich nicht
zum globalen Zustand tun kann, ich werde das ganze Land „isOpen“ (true/false) verwenden, um erklären eine Variable mit bedingter JSX.
export default class IndexPage extends Component { constructor(props) { super(props); this.state = { isOpen: false, }; } componentDidMount() { let map = new window.google.maps.Map(document.getElementById("map"), { }); const request = { placeId: "ChIJN1t_tDeuEmsRUsoyG83frY4" }; const getPlaceById = new google.maps.places.PlacesService(map).getDetails( request, callback ); function callback(place, status) { if (status == google.maps.places.PlacesServiceStatus.OK) { console.log(place.opening_hours.open_now); //returns true or false //set isOpen to state } } } }