我是新的React Native,并尝试了一切,并不断得到以下错误
JSX表达式必须有一个父元素。ts(2657)
我正尝试在平面列表中显示来自json的信息。
这是我的代码。
render() {
if (this.state.isLoading) {
return (
<View style={{flex: 1, paddingTop: 20}}>
<ActivityIndicator />
</View>
);
}
return (
<View>
<View style={{backgroundColor: '#808080'}}>
<Text style={styles.MainText}>Sermons</Text>
</View>
<FlatList style={{paddingTop: 30}}
data={ DATA }
ItemSeparatorComponent = {this.FlatListItemSeparator}
renderItem={this._renderItem} />
</View>
);
}
_renderItem = ({item}) => {
return(
<View style={{flex:1, flexDirection: 'row', paddingLeft: 10}}>
<Image source={require('./church.png')} style={{width: '100%', height: '25%'}} />
</View>
<View style={{flex: 1, paddingLeft: 20}}>
<Text>{item.title}</Text>
</View>
);
}
}
第33行);似乎是导致问题的原因,但我不知道原因。
3条答案
按热度按时间ckx4rj1h1#
您不能渲染相邻的元素。它们必须有一个父元素。
React.Fragment
是常见的解决方案:<></>
是<React.Fragment></React.Fragment>
的缩写。knsnq2tg2#
你有2个视图组件作为回报。你应该有1个父组件,这样你就可以把它们 Package 成一个react片段。
6rqinv9w3#
您需要添加容器
View
: