この記事では、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. グローバルレベル2. データベースレベル3. 表面レベル4. 列レベルの権限5. サブルー...
以下の操作デモンストレーションはすべて MySQL バージョン 5.6.36 に基づいています。仕事...
privot は、多対多の関係の中間テーブルです。 PT5 フレームワークは自動的に privot ...
1. MySQL 8.0.16を解凍する次の図に示すように、解凍後にdadaフォルダとmy.ini構...
この記事では、Java接続MySQLの基礎となるカプセル化コードを参考までに紹介します。具体的な内容...
clear プロパティを使用してフロートをクリアすることはよくあることであり、clear プロパティ...
リンクインスタイルとは、すべてのスタイルを 1 つ以上の外部スタイルシート ファイルに配置することで...
シンプルな Linux 推測ゲームのソースコードゲームのルール:数字当てゲームは通常 2 人でプレイ...
私の開発環境は、VMWare 仮想マシンに CentOS をインストールし、ホスト ファイルにインタ...
リンク A のセマンティクス、ライティング スタイル、およびベスト プラクティス。私は JavaEy...
1. イベントが有効になっているかどうかを確認する'%sche%' のような変数を表...
1.ファビコン.cc ico アイコンの Web サイトをオンラインで作成するには、画像をアップロー...
ウィンドウ環境にmysql5.7.21をインストールします。詳細は次のとおりです。 1. MySQL...
最近、Zoom ビデオ会議をテストし、100 人が同時に会議に参加することをシミュレートする必要があ...
年末なので仕事も少なくなっています。私が何もせずにいるのを見ると、上司はきっと不快に思うでしょう。そ...