Ich versuche, den Wert einer Eingabe zu erfassen und dann Teil der URL mit diesem Wert zu aktualisieren, alles durch einen einfachen Klick mit React, ES6 usw. Im Grunde eine einfache SuchfunktionUpdate-URL mit Wert von Eingabe beim Klicken mit Reagieren
So etwas wie dies meine Komponente aussieht:
class SearchInput extends Component {
constructor() {
super()
this.state = {
query: ''
}
}
componentDidMount =() => {
const handleSearchURL = window.location('/search/'+this.state.query+'/some-action')
this.setState({
handleSearch: handleSearchURL
})
}
queryChange = (evt) => {
this.setState({query: evt.target.value})
}
render() {
const { handleSearch, placeholder } = this.props
return (
<form>
<input id="site-search" type="search" placeholder={placeholder} value={this.state.query} />
<input type="submit" value="Search" onClick={this.handleSearch} />
</form>
)
}
}
aber das gibt mir nur eine Menge Fehler und es scheint window.location nicht mögen. Was ist der beste Weg, dies zu erreichen? Ich benutze react-router, also bin ich auch froh, wenn es einen besseren Weg damit gibt
Doesnt 'scheinen zu arbeiten, bekomme ich "kann nicht lesen Property Push von undefined" in der Konsole, wenn ich übermittle – ynter
statische contextTypes = { Router: Reagieren .PropTypes.object } aktualisierte die Antwortüberprüfung –
yep das arbeitet dank – ynter