この記事では、React Native ScrollViewのプルダウンリフレッシュ効果の具体的なコードを参考までに共有します。具体的な内容は次のとおりです。 ScrollView の refreshControl プロパティはプルダウンの更新に使用され、垂直ビューでのみ使用できます。つまり、horizontal は true にできません。 1. カスタムCKRefresh.jsリフレッシュコンポーネントを作成する 'react' から React,{Component} をインポートします。 輸入 { ビュー、 文章、 スタイルシート、 スクロールビュー、 リフレッシュコントロール、 寸法 } から 'react-native'; const screenW=Dimensions.get('window').width; デフォルトクラスCKRefreshはComponentを拡張します{ コンストラクタ(){ 素晴らしい(); this.state={ rowDataArr:Array.from(新しいArray(30)).map((値,インデックス)=>({ タイトル:「データの初期化」+インデックス }))、 //読み込みを表示するかどうか リフレッシュ中:false、 読み込まれました:0 } } 与える(){ const rowsArr=this.state.rowDataArr.map((row,index)=>(<行データ={row} キー={index}/>)) 戻る( <スクロールビュー リフレッシュコントロール={ <リフレッシュコントロール リフレッシュ中 = {this.state.isRefreshing} onRefresh={()=>this._onRefresh()} colors={['赤','緑','青']} title="読み込み中..." /> } > {行数} </スクロールビュー> ) } _onRefresh(){ //1. インジケーターを表示する this.setState({ リフレッシュ中:true }); //2. データの読み込みをシミュレートする setTimeout(()=>{ newDataArr=Array.from(new Array(5)).map((value,index)=>({ title:「私はプルダウンされたデータです」+(this.state.loaded+index) })).concat(this.state.rowDataArr); //ステートマシンを更新 this.setState({ 行データ配列:新しいデータ配列、 リフレッシュ中:false、 ロード済み: this.state.loaded+5 }); },2000); } } クラス Row は Component を拡張します { 静的デフォルトプロパティ = { データ:{} }; 与える(){ 戻る( <表示スタイル={{ 幅:画面W、 高さ:40, ボーダー下幅:1, borderBottomColor:'赤', コンテンツを中央揃えにする:'center' }}> <テキスト>{this.props.data.title}</テキスト> </表示> ) } } const スタイル = StyleSheet.create({ }) 2. App.js での参照 /** * サンプルReact Nativeアプリ * https://github.com/facebook/react-native * * @フォーマット * @flow 厳密なローカル */ 'react' から React をインポートします。 輸入 { セーフエリアビュー、 スタイルシート、 スクロールビュー、 ビュー、 文章、 ステータスバー、 } から 'react-native'; 輸入 { ヘッダ、 詳細情報リンク、 色、 デバッグ手順、 再ロード手順、 } 'react-native/Libraries/NewAppScreen' から; './components/CKRefresh' から CKRefresh をインポートします。 const アプリ: () => React$Node = () => { 戻る ( <> <ステータスバー barStyle="dark-content" /> <セーフエリアビュー スタイル = {styles.mainViewStyle}> <CKリフレッシュ/> </セーフエリアビュー> </> ); }; const スタイル = StyleSheet.create({ メインビュースタイル:{ フレックス:1, 背景色:'#fff', } }); デフォルトのアプリをエクスポートします。 3. 結果は図の通りです 以上がこの記事の全内容です。皆様の勉強のお役に立てれば幸いです。また、123WORDPRESS.COM を応援していただければ幸いです。 以下もご興味があるかもしれません:
|
>>: Gitlab-ci を使用してリモート マシンに継続的にデプロイする方法 (詳細なチュートリアル)
この記事の例では、ミニプログラムのカスタムタブバーコンポーネントをカプセル化するための具体的なコード...
1. MYSQLに接続するフォーマット: mysql -h ホストアドレス -u ユーザー名 -p ...
誰もが色にとても敏感だと思います。私たちの目が見るところにはどこにでも色があります。では、CSS で...
ウェブフロントエンド最適化のベストプラクティス: コンテンツWebフロントエンド最適化のベストプラク...
時は経つのが早く、わずか 6 日後には 2013 年が歴史になります。今年は、いわゆるトレンドが多す...
Dockerfile を使用したイメージのカスタマイズイメージのカスタマイズとは、実際には各レイヤー...
Centos マシンで docker のインストールが完了したら、docker info コマンドを...
序文始める前に、ファイル属性とファイル属性を変更する方法について簡単に理解しておく必要があります。 ...
この記事はCentOS 7.3システム環境をベースに、MySQLとRedisのインストールと使用につ...
1.# # は Web ページ内の場所を表します。右側の文字はその位置の識別子です。たとえば、ht...
背景webpackのバージョンを確認したいのですが、webpack -vを実行するとエラーが報告され...
小さな画像をクリックしたときに更新せずに大きな画像コードが表示されるようにLightboxを実現する...
必要な方はどなたでも参考にしてください。試してみて問題が見つかった場合は、メッセージを残してお知らせ...
目次1. 監視Linuxホストを追加する2. メールボックスを設定する1. 監視Linuxホストを追...
最近、Docker イメージのプルが非常に不安定です。遅く、タイムアウトすることがよくあります。 x...