2017-02-28 2 views
1

반응 네이티브 응용 프로그램을 실행했습니다. 두 페이지를 모두 사용했습니다. 두 페이지 모두 listView 구성 요소에 사용되었지만 한 페이지가 올바르게 실행되었고 동일한 기능이 다른 페이지에서 사용되지만 다음 오류를 반환합니다. enter image description here네이티브 목록보기 문제가 발생했습니다.

StaticRenderer.render(): A valid React element (or null) must be returned. You may have returned undefined, an array or some other invalid object.

페이지 1 코드

AsyncStorage.getAllKeys().then((value) => { 
     var arr = []; 
     for(var i=0;i<value.length;i++){ 
      if(value[i] != "userName"){ 
       arr.unshift(value[i]); 
      } 
     } 
     this.setState({ 
      ds: arr 
     }) 
     this.setState({ 
      dataSource:this.state.dataSource.cloneWithRows(this.state.ds), 
     }) 

    }).done(); 

페이지 2 코드

AsyncStorage.getItem("userName").then((value) => { 
     var data = JSON.parse(value); 
     var arr = []; 
     if(data != null){ 
      for(var i=0;i<data.length;i++){ 
       arr.unshift(data[i]); 
      } 
     } 
     this.setState({ 
      ds: arr 
     }) 
     this.setState({ 
      dataSource:this.state.dataSource.cloneWithRows(this.state.ds), 
     }) 
    }).done(); 
,451,515,

2 페이지 목록보기

<ListView 
         dataSource = {this.state.dataSource} 
         renderRow = {this.renderRow.bind(this)} 
         enableEmptySections = {true}> 
        </ListView> 
+0

렌더링 방법을 공유 할 수 있습니까? 이 코드는 명확하지 않습니다. –

답변

1

뭔가 잘못 년대 data 당신이 2

가 배열되어 페이지에서 얻을? 그렇다면 루프를 반복하고 unshift을 역순으로 수행 하시겠습니까? 이 경우 reverse()을 사용할 수 있습니다.

제 생각에 그래도 JSON.parse(value) 개체가 반환됩니다. 단지 console.logarr 변수이며 dataSource가 기대하는 바가 있는지 확인하십시오.