8
ユーザーが最後に達したときにアクティビティインジケータをListViewの最後に追加する方法を探しています。 。私は、ListViewの後にインジケータを追加することができますが、それは常に表示されます。React-NativeのListViewの最後にアクティビティインジケータを表示
ユーザーが最後に達したときにアクティビティインジケータをListViewの最後に追加する方法を探しています。 。私は、ListViewの後にインジケータを追加することができますが、それは常に表示されます。React-NativeのListViewの最後にアクティビティインジケータを表示
これは、AリストビューのonEndReached
小道具を使用することで実現できます。最後に達すると、ローダーをレンダリングできます。私の場合は、renderFooter
を使用してローダーをリストの最下部に表示します。私のシナリオでは
messagesLoading
という属性を設定することができます。この属性は、新しいデータの取得を開始するとtrueに設定され、完了するとfalseに設定されます。それに基づいて、フッターにローディングインジケータを表示するかどうかを指定できます。まさにそれだ
class ThreadDetail extends React.Component {
constructor() {
super()
this.state = {
loading: false
}
}
loadMoreMessages() {
this.setState({ loading: true })
fetchMessagesFromApi()
.then(() => {
this.setState({ loading: false })
})
.catch(() => {
this.setState({ loading: false })
})
}
renderFooter() {
return this.state.loading ? <View><Text>Loading...</Text></View> : null
}
render() {
return <ListView
renderRow={message => <Message message={message}/>}
dataSource={this.state.dataSource}
renderFooter={this.renderFooter.bind(this)}
onEndReached={this.loadMoreMessages.bind(this)}
onEndReachedThreshold={10}
scrollEventThrottle={150} />
}
}
:
この例で部分的な実装では、あなたがそれを行うことができる方法のアイデアを与える必要があります!私はドキュメントの 'renderFooter'小道具を見逃しました。ありがとう、トン! – danseethaler
divをビューに置き換える必要があります –