我想玩弄維基百科API。我正在使用Axios來提交數據請求。當我去映射通過道具從應用程序的狀態穿過,我得到以下錯誤:React Uncaught TypeError:search.map不是一個函數
Uncaught TypeError: search.map is not a function
我已經檢查了預期值是一個數組。它似乎是,我可以在反應開發工具控制檯中操作它。它也有一個Array的原型,所以我很困惑爲什麼我不能這樣做。
根組件:
class App extends React.Component
{
constructor()
{
super();
this.state = {search: {}}
this.wikiSearch();
}
wikiSearch()
{
axios
.get('https://en.wikipedia.org/w/api.php?action=opensearch&search="test"')
.then ((result) => {
result.data.shift();
this.setState({search: result.data});
});
}
render()
{
return(
<div id="container">
<Header />
<SearchBar />
<SearchList search={this.state.search} />
</div>
);
}
}
export default App;
,從應用
使用狀態數據class SearchList extends React.Component
{
render()
{
let search = this.props.search;
search.map((element) => {
});
return(
<div id='SearchList'>
</div>
);
}
}
因爲您在app狀態下設置的「搜索」的屬性是「對象」,而不是數組。 –