問題タブ [react-navigation-bottom-tab]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
0 に答える
189 参照

react-native - 反応ネイティブの下部タブ ナビゲーション v4 で setState または useState を使用する方法

まず最初に、私の英語が下手で申し訳ありません...

setState を使用したい、または Route.js ファイルで State フックを使用したいのですが、方法がわかりません。誰かが答えを知っているなら - 私を助けてください..

asyncstorage を使用しましたが、データが更新されたときに自動的に有効になりません。Route.js ファイルを常に更新または保存する必要があります。

これは私のRoute.jsファイルです

どうすればそれができますか?

そして、ナビゲーション画面でこの状態を渡す方法..

ありがとう..

0 投票する
2 に答える
2585 参照

react-native - 反応ナビゲーション5は、ネストされたナビゲーションでボトムタブのナビゲーションを非表示にします

私の反応ナビゲーションの構造は次のようになります: BottomTabNavigator => Navigator => Components

これは App.js のスケルトンです。アプリケーション全体が下部のタブ ナビゲーションにまとめられています。

ご覧のとおり、下部のタブ内には、MyVerandaコンポーネントを使用する「メイン」というスクリーン名があります。MyVerandaそれ自体がスタック ナビゲーターであり、2 つの画面コンポーネントがありますMyHomeBuyForm

MyVerandaは と の親でMyHomeありBuyForm、どちらも 2 つの単純な機能コンポーネントです

私の質問は次のとおりです。コンポーネントに移動するときにルートの下部タブナビゲーターを非表示にする方法ですBuyFormが、コンポーネントに移動するときは非表示にしないでMyHomeください。

この質問の回答に基づいて、この行navigation.setOptions({ tabBarVisible: false })MyVerandaコンポーネントに配置すると、下部のタブを非表示にできることがわかりました

MyHomeしかし、これは、コンポーネントとコンポーネントの両方にいるときに、下部のタブを完全に非表示にしBuyFormます。

呼び出しnavigation.setOptions({ tabBarVisible: false })BuyFormも何も起こらないようです

だから私の推測では、アクティブな画面のときにnavigation.setOptions({ tabBarVisible: false })内部で呼び出す必要がありますが、スタックナビゲーターコンポーネントから現在のアクティブな画面を取得するための適切な構文はありませんか?MyVerandaBuyForm