gpt4 book ai didi

javascript - React Uncaught TypeError : search. map 不是函数

转载 作者:行者123 更新时间:2023-12-03 05:32:05 25 4
gpt4 key购买 nike

我正在尝试使用维基百科 API。我正在使用 Axios 发出数据请求。当我通过从应用程序状态传递的 Prop 去映射时,出现以下错误:

Uncaught TypeError: search.map is not a function

我已经检查过预期值是一个数组。看来,我可以在 react 开发工具控制台中操作它。它还有一个 Array 的原型(prototype),所以我很困惑为什么我不能这样做。

根组件:

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;

使用来自App的状态数据的组件

class SearchList extends React.Component
{
render()
{
let search = this.props.search;
search.map((element) => {

});
return(
<div id='SearchList'>
</div>
);
}
}

最佳答案

您需要在组件状态下将 search 初始化为空数组变量,而不是对象,这样在调用 map 方法时就不会抛出错误,如下所示:

this.state = {search: []}

不是这样的:

this.state = {search: {}}

关于javascript - React Uncaught TypeError : search. map 不是函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40899398/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com