我不知道如何解释这个问题,但也许有人知道。现在我学习React-native并发现一些问题。
如果我第一次打开某个组件,我看不到任何数据,但如果我这样做第二次加载数据。
class Followers extends Component {
componentWillMount() {
const {uid} = this.props.user;
this.props.followersFetch({uid});
this.createDataSource(this.props)
}
componentWillReceiveProps(nextProps) {
this.createDataSource(nextProps)
}
createDataSource({followersList}) {
const ds = new ListView.DataSource({
rowHasChanged: (r1, r2) => r1 !== r2
})
this.dataSource = ds.cloneWithRows(followersList)
}
renderRow(follower) {
return (<User follower={follower}/>);
}
render() {
return (
<Container>
<Content>
<ListView enableEmptySections dataSource={this.dataSource} renderRow={this.renderRow}/>
</Content>
</Container>
);
}
}
const mapStateToProps = state => {
console.log(state)
const {followersList} = state.relation;
const {uid} = state.profile;
return {uid, followersList}
}
export default connect(mapStateToProps, {followersFetch})(Followers);
I'm trying use ComponentDidMount for sure data is loading but it give me error
答案 0 :(得分:0)
我猜想followersFetch函数是非同步的,并且需要比你想要的更长的时间,因此数据在此组件安装渲染后到达。我建议早些时候提取数据。