我是React Native的新手并试图制作iOS应用。这个问题困扰了我好几天,我已经检查了问题[ListView] renders all rows? #499和一些关于SO的问题,但仍然不知道出了什么问题。 (我试图在容器中添加flex: 1
但仍无效)
如下所示,我记录了this.state.dataSource
,数据中有20行,如_cachedRowCount
,_dataBlob
,_dirtyRows
中所示......但是因为我在rowID
方法中记录_renderRow()
,所以只渲染了10行。但有时,有20行呈现......
componentDidMount: function() {
this.fetchData(this.props.access_token);
},
fetchData: function(token) {
var self = this;
fetch('https://api.douban.com/shuo/v2/statuses/home_timeline', {
method: 'GET',
headers: {
Authorization: 'Bearer ' + token,
}
})
.then((response) => response.json())
.then((d) => {
self.setState({
loaded: true,
dataSource: this.state.dataSource.cloneWithRows(d),
});
})
.done();
},
_renderRow: function(post, sectionID, rowID) {
console.log(rowID);
return (
<TouchableHighlight>
<View style={styles.cell}>
...
</View>
</TouchableHighlight>
);
},
任何帮助将不胜感激!