我面临两个问题&无法解决这个问题。任何人都可以解释为什么会这样吗?或者任何人都可以给我解决方案吗?
问题1: 有两个组成部分1)Home 2)Inner 在家中有数据列表&当我点击其中任何一个时它会路由到内部。还有一个使用导航器弹出窗口的后退按钮。有时会重现问题 - 当我单击后面时,它会路由到Home但没有数据(listview元素)但是当我触摸屏幕时数据显示正确。
问题2: 在列表数据中的主组件中,单行内还有一些重复数据。 我已经使用了map功能。有时(大部分时间它显示正确)它也没有在列表视图中显示,行显示正确但重复的数据丢失。
<ListView onEndReached={this.props.reloadArticles} onEndReachedThreshold={10} dataSource={this.props.dataSource} renderRow={this.renderPost} enableEmptySections={true} refreshControl={ <RefreshControl refreshing={this.props.isRefreshing} onRefresh={this.props._onRefresh} /> } />
答案 0 :(得分:0)
NO 1:
听起来像这样:https://github.com/facebook/react-native/issues/8607 如果使用rn 0.4.0设置,则initialListSize = {0}可以帮助
NO 2: 您能否发布您的renderRow / dataSource代码
答案 1 :(得分:0)
@SnowMax抱歉迟到的回复&amp;谢谢你的帮助。
由于联盟项目,我无法共享所有代码,但我可以分享代码结构:
renderPost = (list, sectionID, rowID) => {
if(list && list.is_shared_post == true){
return (
<WallShared list={list} rowID={rowID} />
);
}
}
class WallShared extends Component {
constructor(props) {
super(props);
}
render() {
if( this.props.list.is_shared_post == true){
switch(this.props.list.TblPostsComments.post_type){
case 'T':
return (<ShareText list={this.props.list} />);
default:
return (<ShareDefault list={this.props.list} rowID={this.props.rowID} />);
break;
}
} else {
return (
<View>something</View>
)
}
}
}
export default WallShared;
class ShareText extends Component {
constructor(props) {
super(props);
this.state ={
isLoggedIn:false,
}
}
componentDidMount(){
}
render() {
var ShareBlock = this.props.list.TblPostsComments.shared_contents.map(function(cont, ind) {
return (
<View style={[styles.feedItem, styles.SfeedItem]} key={ind}> </View>
);
},this);
return(
<View style={styles.feedItem}>
<View style={styles.sharedWrap}>
{ ShareBlock }
</View>
</View>
);
}
}
export default ShareText;