2016-01-03 9 views
5

Sto lavorando a un progetto di codice nativo reattivo. sto usando un plugin su github- selectablesectionlistview per far funzionare la vista elenco sezioni selezionabili.reagisce nativo: la visualizzazione elenco sezioni selezionabili fornisce l'errore

Sto usando il codice di esempio fornito nel documentation-

var SelectableSectionsListView = require('react-native-selectablesectionlistview'); 

// inside your render function 
<SelectableSectionsListView 
    data={yourData} 
    cell={YourCellComponent} 
    cellHeight={100} 
    sectionHeaderHeight={22.5} 
/> 

e non funziona. Sto ottenendo errori in javascript all'interno della funzione di rendering.

L'errore è- SelectableSectionsListView is undefined. QUESTO È RISOLTO ORA.

Nuovo errore - data is undefined.

Sto usando il codice sopra. qualsiasi aiuto. per favore.

+0

ha installato react-native-selectablesectionlistview utilizzando 'npm i react-native-selectablesectionviewview' –

+0

Sì. L'ho fatto. npm install

+0

inserisci yourData in uno stato/oggetti di scena e poi usa this.state.yourData fr State e this.props.yourData –

risposta

4

Il codice che si sta visualizzando è solo un codice di libreria. Ho incontrato lo stesso problema. e l'ho fatto funzionare dopo aver inviato un errore di dati alla chiamata della biblioteca.

class MyComponent extends Component { 
constructor(props, context) { 
super(props, context); 

this.state = { 
    data: { 
    A: ['some','entries','are here'], 
    B: ['some','entries','are here'], 
    C: ['some','entries','are here'], 
    D: ['some','entries','are here'], 
    E: ['some','entries','are here'], 
    F: ['some','entries','are here'], 
    G: ['some','entries','are here'], 
    H: ['some','entries','are here'], 
    I: ['some','entries','are here'], 
    J: ['some','entries','are here'], 
    K: ['some','entries','are here'], 
    L: ['some','entries','are here'], 
    M: ['some','entries','are here'], 
    N: ['some','entries','are here'], 
    O: ['some','entries','are here'], 
    P: ['some','entries','are here'], 
    Q: ['some','entries','are here'], 
    R: ['some','entries','are here'], 
    S: ['some','entries','are here'], 
    T: ['some','entries','are here'], 
    U: ['some','entries','are here'], 
    V: ['some','entries','are here'], 
    X: ['some','entries','are here'], 
    Y: ['some','entries','are here'], 
    Z: ['some','entries','are here'], 
    } 
}; 
} 

Utilizzare questo nel codice e passare i dati come oggetti di scena alla libreria. Funzionerà.

+0

qualsiasi modo per ottenere i dati da oggetti ?, ho bisogno di più di una stringa nel componente cella? –

2

Ho affrontato questo problema per molto tempo posso dire. Ecco il mio git repo dove ho impostato l'esempio.

ci sono molte cose da considerare, dopo che fai npm install <library>

Ecco come il codice di index.js sembra come-

'use strict'; 
var React = require('react-native'); 
var {Component, PropTypes, View, Text, TouchableHighlight,AppRegistry} = React; 

var AlphabetListView = require('react-native-alphabetlistview'); 

class SectionHeader extends Component { 
    render() { 
    // inline styles used for brevity, use a stylesheet when possible 
    var textStyle = { 
     textAlign:'center', 
     color:'#fff', 
     fontWeight:'700', 
     fontSize:16 
    }; 

    var viewStyle = { 
     backgroundColor: '#ccc' 
    }; 
    return (
     <View style={viewStyle}> 
     <Text style={textStyle}>{this.props.title}</Text> 
     </View> 
    ); 
    } 
} 

class SectionItem extends Component { 
    render() { 
    return (
     <Text style={{color:'#f00'}}>{this.props.title}</Text> 
    ); 
    } 
} 

class Cell extends Component { 
    render() { 
    return (
     <View style={{height:30}}> 
     <Text>{this.props.item}</Text> 
     </View> 
    ); 
    } 
} 

class reactnativeAlphabeticalListView extends Component { 

    constructor(props, context) { 
    super(props, context); 

    this.state = { 
     data: { 
     A: ['asome','aentries','are here'], 
     B: ['bbsome','bebntries','bare here'], 
     C: ['csome','centries','care here'], 
     D: ['dsome','dentries','dare here'], 
     E: ['esome','eentries','eare here'], 
     F: ['fsome','fentries','are here'], 
     G: ['gsome','gentries','gare here'], 
     H: ['hsome','hentries','hare here'], 
     I: ['isome','ientries','iare here'], 
     J: ['jsome','jentries','jare here'], 
     K: ['ksome','kentries','kare here'], 
     L: ['lsome','lentries','lare here'], 
     M: ['msome','mentries','mare here'], 
     N: ['nsome','nentries','nare here'], 
     O: ['osome','oentries','oare here'], 
     P: ['psome','pentries','pare here'], 
     Q: ['qsome','qentries','qare here'], 
     R: ['rsome','rentries','rare here'], 
     S: ['some','sentries','sare here'], 
     T: ['tsome','tentries','tare here'], 
     U: ['usome','uentries','uare here'], 
     V: ['vsome','ventries','vare here'], 
     W: ['wsome','wentries','ware here'], 
     X: ['xsome','xentries','xare here'], 
     Y: ['ysome','yentries','yare here'], 
     Z: ['zsome','zentries','zare here'], 
     } 
    }; 
    } 

    render() { 
    return (
     <AlphabetListView 
     data={this.state.data} 
     cell={Cell} 
     cellHeight={30} 
     sectionListItem={SectionItem} 
     sectionHeader={SectionHeader} 
     sectionHeaderHeight={22.5} 
     /> 
    ); 
    } 
} 

AppRegistry.registerComponent('reactnativeAlphabeticalListView',() => reactnativeAlphabeticalListView); 

Speranza che aiuta :) Felice di codifica!

+0

Eeeek !!! Grazie per il codice. non sono sicuro di quanto mi sia mancato. sprecato come giorni per farlo funzionare. –

+0

qualsiasi modo per ottenere i dati da oggetti ?, ho bisogno di più di una stringa nel componente cella? –

Problemi correlati