React-NativeコンポーネントのListView
dataSource , new dataSource
constructor(){
super();
this.state = {
movies:new ListView.DataSource({
rowHasChanged:(row1,row2) => row1 !== row2
})
}
this.fetchData(); // json https://api.douban.com/v2/movie/top250
};
1.getRowData(dataBlob, sectionID, rowID): dataBlob( ) rowData,
sectionID section ( renderRow,renderHeader )
2.getSectionHeaderData(dataBlob, sectionID): dataBlob( )
HeaderData。HeaderData sectionHeader
3.rowHasChanged(prevRowData, nextRowData): row , prevRowData
nextRowData row
4.sectionHeaderHasChanged(prevSectionData, nextSectionData): sectionHeader ,
sectionData
fetchData(){
data ='username='+user;
fetch(REQUEST_URL,
{
method: 'POST',
headers: {
'Accept':'application/json',
'Content-Type':'application/x-www-form-urlencoded'
},
body: data
})
.then((response) => response.json()) // response json
.then((responseData) => {
this.setState({
movies:this.state.movies.cloneWithRows(responseData.subjects)
})
})
.catch((error)=> {
alert(error);
})
};
renderMovieList(movie){
return(
this._gotoSubClass(movie.Sn) } style={styles.itemHeader}>
{movie.title}
);
}
//render
render() {
return(
);
}
//render
render() {
return(
{movieData.title} }
/>
);
}
簡書のよい文を1編添付する