【发布时间】:2018-10-01 09:47:56
【问题描述】:
我试图在 render() 中输出数据,但出现错误,为什么会这样?
代码:
render() {
let marketing_plan_projects = [];
marketing_plan_projects = this.props.markets.data ? this.props.markets.data : null;
let marketing_updates = get_marketing_updates_from_projects(marketing_plan_projects);
console.log(marketing_updates);
return (
<ScrollView style={styles.container}>
<Text>{marketing_updates[0].project_name}</Text>
</ScrollView>
);
}
我也试过这个:(仍然报错)
<Text>{marketing_updates ? marketing_updates[0].project_name: ""}</Text>
console.log(marketing_updates) 是:
我收到以下错误:
【问题讨论】:
-
你确定你的 marketing_updates 对象不为空吗?
-
@R.Duteil 最初它是空的(见屏幕截图),但随后发生重新渲染,因此它被填充。
-
您的错误被抛出,因为起初您有一个空数组。 react-native 无法知道在某些时候您实际上会在那里拥有数据。你可以做一些你已经尝试过的修改:
<Text>{marketing_updates && marketing_updates.length > 0 ? marketing_updates[0].project_name: ""}</Text> -
@AndreiOlar 工作就像一个魅力谢谢:)
标签: javascript reactjs react-native