2017-06-12 4 views
0

Ich bin neu in Framework ReactJS und versuche, zwei verschiedene bekommt auf einer Seite. Jeder get erhält ein anderes Array verschiedener Datenbanken. Können Sie mir bitte helfen, diesen Fehler zu verstehen?Kann nicht 'slice' von undefined lesen

Error_slice

class Example extends React.Component{ 

constructor (props) { 
     super(props); 
     this.props.dispatch (get1({email:this.props.email}),get2({email:this.props.email})); 
     this.options = { 
     onPageChange: this.onPageChange.bind(this), 
     onSizePerPageList: this.sizePerPageListChange.bind(this) 
     }; 
} 

sizePerPageListChange(sizePerPage) { 
    alert(`sizePerPage: ${sizePerPage}`); 
    } 

    onPageChange(page, sizePerPage) { 
    alert(`page: ${page}, sizePerPage: ${sizePerPage}`); 
} 

componentDidMount() { 
      setTimeout(() => { 
       this.refs.table2.forceUpdate(); 
       this.refs.table3.forceUpdate(); 
      }, 500); 
} 


    render() { 


    return (


<table width={1000} height={500}> 
<tr> 
    <td> 
     <BootstrapTable ref="table2" data={ this.props.array_1 } 
      options={ this.options } multiColumnSort={ 2 } striped hover> 
        <td dataField='att_1' isKey={true} width="55px">Col_1</td> 
        <td dataField='att_2' width="140px">Col_1</td> 
        <td dataField='att_3' width="140px">Col_2</td> 
        <td dataField='att_4' width="30px">Col_3</td> 
     </BootstrapTable> 
    </td> 
    <td width={50}> </td> 
    <td> 
     <BootstrapTable ref="table3" data={ this.props.array_2 } 
      options={ this.options } multiColumnSort={ 2 } striped hover> 
        <td dataField='att_5' isKey={true} width="55px">Col_4</td> 
        <td dataField='att_6' width="140px">Col_5</td> 
        <td dataField='att_7' width="30px">Col_6</td> 
     </BootstrapTable> 
    </td> 
</tr> 
</table> 


    ); 
    } 
}; 


function mapStateToProps(state){ 
    return{ 
    array_1: state.proj.array_1, 
    array_2: state.hist.array_2, 
    email: state.email 
    }; 
} 


export default connect(mapStateToProps,{get1,get2})(Example); 
+0

Es scheint, dass 'this.props.array_1' (und möglicherweise' this.props.array_2') nicht definiert sind. Schickst du sie als Requisiten an deine Komponente? Wenn Ihre "gets" http GETs sind, dann müssen Sie vielleicht auf eine Antwort warten, bevor Sie versuchen, Ihre Komponente zu rendern. Ist das sinnvoll? Sie können es Rendern, bevor Sie die tatsächlichen Daten haben. – byumark

Antwort

0

perfaps Link hat das gleiche Problem helfen: link

ich denke, ist das Problem mit einem leeren Objekt auf die Daten von bootstrapTable vorbei, da sie Array nur akzeptiert. sollten Sie überprüfen, ob Sie

Verwandte Themen