我想弄清楚如何在數據中分頁時在繼電器現代應用程序中顯示負載指示器。我有一個基於PaginationContainer的組件,並且我希望在調用其他數據(調用loadMore())時顯示一個加載指示符。除了以某種方式提供一個自定義網絡實現,在任何網絡請求期間執行此操作時,我都沒有看到任何其他方式來做到這一點。思考?繼電器現代:如何顯示負載指示器loadMore在分頁容器
2
A
回答
0
我覺得繼電器配備了一個API,讓你知道,如果請求被掛起,你可以有機會獲得this.props.relay.isLoading()
(見docs)
class MyComponent extends React.Component {
render() {
return {
<div>
{this.props.relay.isLoading() ? <Spinner /> : null>
// ....
</div>
}
}
}
export default createPaginationContainer(
MyComponent,
...
)
0
在我看來,這是一個常見的使用情況下應在Relay API中得到明確的支持,但以下是我能想到的最好的。鼓勵其他解決方案的建議。
在我的組件,它是基於一個集裝箱的分頁:
constructor(arg) {
super(arg);
this.state = {isLoadingMore: false}
}
componentWillReceiveProps(nextProps) {
if (this.props !== nextProps) {
this.setState({isLoadingMore:false});
}
}
// onClick handler for "More" button
handleMore() {
if (!this.props.relay.hasMore() || this.props.relay.isLoading()) {
return;
}
this.setState({isLoadingMore: true});
this.props.relay.loadMore(
...
)
}
render() {
...
const isLoadingMore = this.state.isLoadingMore;
return (isLoadingMore ? <LoadingIndicator /> : <ListOfStuffView />
}
相關問題
- 1. 如何通過過濾器參數繼電器loadMore
- 2. 繼電器現代:如何模擬繼電器單元測試
- 3. 加載網頁時顯示微調器等待指示器
- 4. 如何使用spin.js顯示頁面加載指示器
- 5. 如何讓頁腳顯示(顯示它在網站容器?)
- 6. 安培列表加載內容時顯示加載指示器
- 7. 如何顯示部分容器
- 8. jQuery選項卡 - 在ajax加載期間在容器div中顯示指示器
- 9. 如何指定顯示器?
- 10. 顯示加載程序指示器
- 11. 加載圖像時顯示指示器
- 12. 如何在可用內顯示加載圖像指示器?
- 13. 如何使指示器顯示開關?
- 14. 如何顯示活動指示器
- 15. 在排序或分頁時顯示Ajax加載指示器ASP.net MVC Webgrid
- 16. 如果兒童中繼器爲空,如何顯示中繼器的子頁腳?
- 17. Android滾動頁面指示器分頁
- 18. 顯示進度指示器
- 19. 變暗頁面並顯示加載指示器
- 20. 使Socket.IO顯示瀏覽器的頁面加載指示器(旋轉輪)
- 21. 如何在中繼器獲取數據時顯示「加載...」
- 22. 電子如何顯示加載頁面時在BrowserWindow中加載微調器
- 23. 在容器中顯示UIViewController
- 24. 在雙顯示器上顯示網頁
- 25. android的電池指示器
- 26. JavaFX加載指示器顯示時未顯示動畫
- 27. 頁面加載指示器yii2
- 28. 顯示容器懸停不同容器
- 29. AngularJS顯示預加載器 - 指令
- 30. android水平視圖分頁指示器
嘿,我討厭問,但我有繼電器現代createPaginationContainer麻煩。如果你有一個時刻,可以看看:https://stackoverflow.com/questions/45126278/relay-modern-createpaginationcontainer-not-receiving-any-props – liminal18
@Vincent Taing,有趣的是,this.props.relay.isLoading ()在我調用loadMore()後在我的PaginationContainer的渲染方法中是真實的。但我的渲染方法只有一次被調用,因爲我懷疑。所以我不能在這裏告訴網絡請求是正在進行還是已經完成。 – bjlevine