この記事では、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 を使用してリモート マシンに継続的にデプロイする方法 (詳細なチュートリアル)
目次導入始めるReact Nativeゲームエンジンの簡単な紹介React Nativeでスネークゲ...
上記:このドキュメントは、3 台の仮想マシンが相互に ping を実行できること、ファイアウォールが...
目次序文1. 一度限りの計画タスクの紹介2. コマンド3. 1回限りのスケジュールタスクを作成する4...
モバイル デバイス向けに開発する場合、Retina 画面上で要素の境界線が太くなるという問題に遭遇す...
1. /etc/init.d ディレクトリに入ります: cd /etc/init.d 2. tomc...
目次1 Java環境の設定2 tomcatのインストールと展開Tomcat をインストールして展開す...
これまでの数年間、私はいわゆる「設計仕様」についてかなりの数の執筆やコンサルティングを行ってきました...
序文ES6 で初めて導入された「構造化代入構文」を使用すると、配列やオブジェクトの値を異なる変数に挿...
成熟したデータベース アーキテクチャは、最初から高可用性、高スケーラビリティなどの機能を備えて設計さ...
この記事では、参考までに、Vue の具体的なコードを共有して、簡単なショッピングカートを実装します。...
新しいLinuxサーバーを入手する場合、通常は次の5つの構成を実行する必要があります。 HOSTAN...
この記事では、VMware Workstation14 ProにUBuntu17.04をインストール...
1. はじめに要件は、特定の時間範囲内で、1 時間ごとのデータと前の 1 時間ごとのデータの差と比率...
この記事では、Vueで開始時間と終了時間の範囲を照会する方法を参考までに紹介します。具体的な内容は次...
この記事の例では、ドラッグアンドドロップを使用して構造ツリーを作成するVueの具体的なコードを共有し...