Javascript 获取后状态返回未定义
我正在使用fetch将数据发布到本地api,但在尝试获取数据时,会出现类似这样的错误。在fetch中,我得到的结果非常好,但在这之后,尝试将其传递到如下状态: 这是我的国家({ 项目:result.items}) 但是项返回未定义的,不知道为什么 我的代码:Javascript 获取后状态返回未定义,javascript,reactjs,undefined,fetch,setstate,Javascript,Reactjs,Undefined,Fetch,Setstate,我正在使用fetch将数据发布到本地api,但在尝试获取数据时,会出现类似这样的错误。在fetch中,我得到的结果非常好,但在这之后,尝试将其传递到如下状态: 这是我的国家({ 项目:result.items}) 但是项返回未定义的,不知道为什么 我的代码: 类应用程序扩展组件{ 建造师(道具){ 超级(道具); 此.state={ 项目:[], 错误:null, isLoaded:false }; this.setState=this.setState.bind(this); } compon
类应用程序扩展组件{
建造师(道具){
超级(道具);
此.state={
项目:[],
错误:null,
isLoaded:false
};
this.setState=this.setState.bind(this);
}
componentDidMount(){
取回(“http://localhost:3000/items")
.then(res=>res.json())
。然后(结果=>{
控制台日志(结果);
这是我的国家({
项目:result.items,
isLoaded:正确
});
console.log(this.state.items)
},
(错误)=>{
这是我的国家({
isLoaded:是的,
错误
});
}
)
}
render(){
const{error,isLoaded,items}=this.state;
如果(错误){
返回错误:{Error.message};
}否则,如果(!已加载){
返回装载。。。;
}否则{
返回(
保存的项目:
{
items&&items.map(item=>(
-
项目:{item.name}{item.price}
))
}
);
}
}
}
您可以执行以下任一操作:
this.setState({
items: result.items || [],
isLoaded: true
});
或
{
items&&items.map(item=>(
{item.name}{item.price}
))
}
看起来像是结果。项未定义-在设置状态之前添加一个日志我做了,结果是它应该做的,但你是对的,虽然我面临类似的问题,但结果未定义。这是因为result.items
为空。不幸的是,我不能告诉你为什么。请根据和更新您的问题
this.setState({
items: result.items || [],
isLoaded: true
});
{
items && items.map(item => (
<li key={item.name}>
{item.name} {item.price}
</li>
))
}