Ich versuche, eine Karte eines bestimmten Ortes zu rendern, der von einer übergeordneten Komponente übergeben wird. Ich verwende google-maps-react und bin mir zweierlei unsicher:Wie man eine Komponente onClick mit React rendert?
So rufen Sie Funktionen mit onClick
in meinem Render auf. Und wie schreibe ich die Funktion in meiner Klasse, die die gewünschte Komponente rendert. Dies ist wha tI hat bisher:
import React, { Component } from 'react';
import yelp from 'yelp-fusion';
import xhr from 'xhr';
import GoogleMapContainer from './Map';
class BusinessCard extends Component {
constructor() {
super()
this.renderMap = this.renderMap.bind(this);
}
renderMap(){
<GoogleMapContainer barLat={bar.coordinates.latitude} barLong={bar.coordinates.longitude} />
}
render() {
const newCard = this.props.newCard
const bar = this.props.selectedBar
// console.log("this are the coordinates", bar["coordinates"])
if(bar.coordinates){
return (
<div>
<p>{bar.coordinates.longitude}</p>
<p>{bar.name}</p>
<img src={bar.image_url} />
<button> X </button>
<button onClick={newCard}> Yes </button>
</div>
)
} else {
return(
<div>Loading...</div>
)
}
}
}
export default BusinessCard;
Im Moment gibt es ein Problem mit dem Compilieren seit bar
undefiniert ist beim Rendern. Irgendwelche Vorschläge/Ratschläge?
Sie die Karte, um zu optional Versuchen zu machen, wenn this.props.selectedBar definiert ist? – Matthew
Zuerst sollte deine 'renderMap()' die Jsx zurückgeben –
Und du verwendest das nirgendwo –