Wenn meine API die Abfrage als http://localhost:8000/api/v1/rental/?place__startswith=kathmandu nimmt, wie kann ich generische Suche in reactjs tun. Was ich versuchte, ist, dass ich den Standardparameter als search (query = kathmandu) übergebe, so dass das Ergebnis des Ortes namens kathmandu standardmäßig aufgelistet wird und wenn der Benutzer den zu suchenden Ortsnamen eingibt, sollte er diese Orte anstelle von kathmndu anzeigen. Aber ich erhalte einen Fehler, der besagt, dass Uncaught ReferenceError: kathmandu nicht definiert ist. Wie kann ich dieses Problem lösen?Wie übergebe ich String ohne Anführungszeichen als Parameter in der Funktion?
componentWillMount(){
this.search();
}
search(query=kathmandu){
let url = 'http://localhost:8000/api/v1/rental/?place__startswith=query';
Request.get(url).then((response) => {
console.log('response',response.body.objects);
this.setState({
place:response.body.objects
});
});
}
searchUpdated(term){
console.log('term is',term);
this.search(term);
}
render() {
var margin = { marginTop : '13em' };
let location = _.map(this.state.place, (place) => {
return(
<div className="searchResult">
<li>{place.place}</li>
<li>{place.city}</li>
</div>
)
});
return(
<div className = "container">
<div className="content text-align-center">
<div className="row text-xs-center">
<div className="middle-text" style={margin}>
<h1 className="welcome"><span>Welcome </span></h1>
<button ref="test" className="btn how-it-works" onClick={this.handleClick}>Search Space</button>
</div>
</div>
</div>
<div id="mySearch" className="overlay" onKeyDown={this.handleKeyDown}>
<button className="btn closebtn" onClick={this.handleClick}>x</button>
<div className="overlay-content">
<SearchInput ref="searchInput" className="search-input" onChange={this.searchUpdated} />
<ul>{location}</ul>
</div>
</div>
</div>
);
}
}
Sollte nicht 'search (query = kathmandu) {' be 'search (query =" kathmandu ") {'? –
Das ist, was nicht funktioniert, da meine API die URL-Abfrage im Format http: // localhost: 8000/api/v1/mieten /? Place__startswith = kathmandu statt http: // localhost: 8000/api/v1/rental /? place__startswith = 'kathmandu' – pri
Warum werde ich abstimmen? – pri