我正在尝试在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)是:
我遇到以下错误:
答案 0 :(得分:2)
此行:
marketing_updates ? marketing_updates[0].project_name: ""
不测试数组是否为空,而是测试数组是否存在。测试marketing_updates = []
将返回true,因为它是真实值。
有关更多信息,请参见此处:https://developer.mozilla.org/en-US/docs/Glossary/Truthy
因此,您可以有一个现有数组,但是marketing_updates[0]
的值不确定,因为它可能为空。
为避免错误,请尝试以下操作:
marketing_updates.length != 0 ? marketing_updates[0].project_name: ""