0
私は他のプロジェクトでListviewを使用しましたが、そこからコードをコピーしましたが、今問題に取り組んでいません。RN Listview各文字を与えられたjson文字列の行とみなして
私のサーバーから取得したセッションクラスに私がデータソースとして使用している次のjsonを持っていますが、レンダリング行は各文字を新しい行項目として取る代わりに行項目としてオブジェクトを取りません、私はデバッグ中にチェックした。次のコードを使用して、任意のヘルプでrenderRowの最初の反復で
JSON
[{"id":1,"name":null,"fullName":"Behraj Khan "},{"id":2,"name":null,"fullName":"Fareeha "},{"id":3,"name":null,"fullName":"Kashif "}]
コード
constructor(props) {
super(props);
const ds = new ListView.DataSource({rowHasChanged: (r1, r2) => r1 !== r2});
var facultyMembers;
if(SessionManager.getSessionValue(Constants.FACULTY_MEMBERS) !== null){
facultyMembers = SessionManager.getSessionValue(Constants.FACULTY_MEMBERS);
}
this.state = {
dataSource: ds.cloneWithRows(facultyMembers)
};
}
render() {
return (
<View style={styles.container}>
<ListView
style={styles.listviewcontainer}
dataSource={this.state.dataSource}
renderRow={(row) => this.renderRow(row)}
renderHeader={this.state.showHeader ?() => this.renderHeader(this.state.headerText) :() => {
}}
renderSeparator={(sectionId, rowId) => <View key={rowId} style={styles.separator}/>}
/>
</View>
);
}
renderRow = (rowData) => (
<TouchableHighlight underlayColor='gainsboro' onPress={() => {
this.state.onPress(rowData)
}}>
<View style={styles.row}>
<Text style={styles.header}>
{rowData.fullName}
</Text>
</View>
</TouchableHighlight>
);
を理解されるI秒で[
を持って私が得{
iは"
を持って第で とso on
の作品'その問題を引き起こすでしょう。 JSONレスポンスをサーバーから解析したことはありますか? ds.cloneWithRows(JSON.parse(facultyMembers: –
はい、私は有効なJSONを持っているが、サーバーをffrom私は@GarrettMcCulloughに同意するだけで応答、 – SSH
が供給した後)、私は再チェックしていると(resp.jsonを適用し、あなたはおそらく 'DataSourceを行う必要があります)) 'あなたの状態で。 –