-2
この問題の説明方法はわかりませんが、多分誰かが知っています。今、私はReact-nativeを学び、問題を見つけます。データが最初にレンダリングされた後にコンポーネントにロードされるのはなぜですか?
初めてコンポーネントを開くと、データが表示されませんが、この2回目のデータがロードされた場合は表示されます。
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