[英]react render - objects are not valid as a React child
我試圖遍歷渲染中的事件:
let {events} = this.props;
if(events.length > 0) {
const events = events.map((event) => <Text>{event.author}</Text>);
}
if (this.props.hasErrored) {
return <Text>Sorry! There was an error loading the events</Text>;
}
if (this.props.isLoading) {
return <Text>Loading…</Text>;
}
return (
<View>
{events}
</View>
);
完整的錯誤是:
對象作為React子對象無效(找到:帶有鍵{events,rest_url,total,total_pages}的對象)
有任何想法嗎?
const
和let
處於塊范圍內 ,因此問題屬於您的events
變量。 您可以刪除屬於events
變量的if
語句並將其移至render
方法,如下所示:
const {events} = this.props;
if (this.props.hasErrored) {
return <Text>Sorry! There was an error loading the events</Text>;
}
if (this.props.isLoading) {
return <Text>Loading…</Text>;
}
return (
<View>
{events && events.length && events.map((event) => <Text>{event.author}</Text>)}
</View>
);
我認為問題是:
return (
<View>
{events}
</View>
);
我猜events
是常規的JavaScript對象嗎? 在這種情況下,React不知道如何渲染它。
您將首先在if條件中創建新的事件變量。
只需在第一個if語句中刪除const
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.