2017-01-21 3 views
1

У меня две проблемы & не может решить эту проблему. Может ли кто-нибудь объяснить, почему это происходит? Или может кто-нибудь дать мне решение?Listview пробелы при использовании навигатора pop

Проблема № 1: Есть два компонента 1) Главная 2) Внутренняя В Home есть список данных & при нажатии любой из них маршрут во внутренний. Также есть кнопка «Назад» с использованием всплывающего окна навигатора. Иногда возникает проблема - когда я нажимаю на кнопку «назад», она перенаправляется на «Домой», но нет данных (элемент списка), но когда я касаюсь экрана, данные отображаются правильно.

Проблема № 2: В домашнем компоненте в данных списка есть также несколько повторяющихся данных в пределах одной строки. Я использовал функцию карты для этого. Иногда (в большинстве случаев он отображается правильно) он также не отображается в виде списка, строка отображается правильно, но повторяющиеся данные отсутствуют.

<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

@SnowMax Извините за поздний ответ & спасибо за помощь.

Благодаря confedential проекта я не мог разделить весь код, но я могу поделиться ЕВ структуру кода:

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; 
Смежные вопросы