Ich habe den Suchfilter integriert und die JSON-Daten (Array von Objekten) mithilfe der auf dem Suchbegriff basierenden Post-Methode abgerufen. Der json Ausgang ist unten angegeben:Rendern von Daten aus einem Array von Objekten
[
{"taxi_code":"CT0001","class":"0"},
{"taxi_code":"CT0002","class":"0"},
{"taxi_code":"CT0003","class":"0"}
]
Aber die json Daten an die DisplayTable Komponente nicht wiedergegeben wird, auch die Kartenmethode. Was habe ich falsch gemacht?? Mit console.log(<DisplayTable data={queryResult} />
), bekam ich diese Art der Ausgabe: Object { props={...}, _store={...}, $$typeof=Symbol {}, more...}
class Results extends Component
{
constructor(props){
super(props);
this.state={searchTerm:''};
}
render(){
return(<div id="results" className="search-results">
{this.props.data}
<SearchInput className="search-input" onChange={e=>this.searchUpdated(e)} />
</div>);
}
searchUpdated (e) {
this.setState={searchTerm: e};
var queryResult;
axios.post(config.api.url + 'public/getAttributesbyname', {'searchTerm':e,'name':this.props.data})
.then(response => {
var queryResult = response.data;
render()
{
return (<DisplayTable data={queryResult}/>);
}
})
.catch(response => {
});
}
}
class DisplayTable extends Component
{
render()
{
return this.props.data.map((alldata)=> {
return <div className="station">{alldata.taxi_code}</div>;
});
}
}
Bitte, Best Practices lesen. Diese Art der Codierung ist schrecklich. – Tugrul