質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
React Native

React Nativeは、ネイティブモバイルアプリ(iOS/Android)を作成できるJavaScriptフレームワークです。Reactと同じ設計のため、宣言的なコンポーネントでリッチなUIを開発することが可能です。

Android

Androidは、Google社が開発したスマートフォンやタブレットなど携帯端末向けのプラットフォームです。 カーネル・ミドルウェア・ユーザーインターフェイス・ウェブブラウザ・電話帳などのアプリケーションやソフトウェアをひとつにまとめて構成。 カーネル・ライブラリ・ランタイムはほとんどがC言語/C++、アプリケーションなどはJavaSEのサブセットとAndroid環境で書かれています。

Q&A

解決済

1回答

1187閲覧

[React Native]native-baseのタブで初期描画がされない

退会済みユーザー

退会済みユーザー

総合スコア0

React Native

React Nativeは、ネイティブモバイルアプリ(iOS/Android)を作成できるJavaScriptフレームワークです。Reactと同じ設計のため、宣言的なコンポーネントでリッチなUIを開発することが可能です。

Android

Androidは、Google社が開発したスマートフォンやタブレットなど携帯端末向けのプラットフォームです。 カーネル・ミドルウェア・ユーザーインターフェイス・ウェブブラウザ・電話帳などのアプリケーションやソフトウェアをひとつにまとめて構成。 カーネル・ライブラリ・ランタイムはほとんどがC言語/C++、アプリケーションなどはJavaSEのサブセットとAndroid環境で書かれています。

0グッド

0クリップ

投稿2019/09/03 05:01

前提・実現したいこと

React Nativeでアプリの開発をしており、native-baseというパッケージ使ってタブの機能を実装しています。

iOSでは問題ないのですが、Androidの場合、初期描画がされません。
データは初期の取得時に取得できていますが、初期では表示がされず、タブを選択すると表示がされます。

初期に描画をしたいのですが、何か方法があればご教示ください。

該当のソースコード

Javascript

1 render() { 2 let tabs = []; 3 if (this.props.news) { 4 tabs = this.props.news.map((data, index) => { 5 return ( 6 <Tab key={index} heading={data.name} tabStyle={ styles.tabStyle } 7 activeTabStyle={styles.activeTabStyle} 8 activeTextStyle={ styles.activeTextStyle }> 9 <Content refreshControl={ 10 <RefreshControl refreshing={false} onRefresh={() => this.props.newsFetch()}/> 11 }> 12 <List dataArray={data.data} renderRow={(news) => 13 〜省略〜 14 }> 15 </List> 16 </Content> 17 </Tab> 18 ); 19    }); 20 } 21 return ( 22 <Container> 23 <Header title={"News"} isBack={false} navigation={this.props.navigation} /> 24 { this.wait ? 25 <Wait onEnd={e => { 26       this.wait = false; 27 this.setState({wait : false}); 28 }} /> 29 : 30 <Tabs tabBarUnderlineStyle={styles.tabBarUnderlineStyle} 31 activeTabStyle={styles.activeTabStyle} 32 renderTabBar={()=> <ScrollableTab />} > 33 { this.props ? tabs : <View /> } 34 </Tabs> 35 } 36 </Container> 37 ); 38 }

試したこと

このあたりのことは試しました。
https://github.com/GeekyAnts/NativeBase/issues/1893
https://www.oipapio.com/question-6679496

補足情報

native-base: 2.13.4
react-native: 0.59.9

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

自己解決しました。
考え方は試したことにあることと同様に、初期の描画の際はinitialPageを0で再指定しました。(再度タブをタップすると表示がされるため)

javascript

1render() { 2 this.cnt ++; 3 if (this.cnt < 5) { 4 setTimeout(() => { 5 this.setState({initialPage: 0}); 6 }, 0); 7 } 8}

投稿2019/09/03 07:09

退会済みユーザー

退会済みユーザー

総合スコア0

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問