複数のTabBar.Itemコンポーネントを持つTabBarがあります。各TabBar.Itemコンポーネントには独自のNavigatorIOSがあります。ここで React Native NavigatorIOSはコンポーネントを再レンダリングしません。
は、ユーザーがFilter
ボタンをクリックすると、私は単に
NavigatorIOS
<NavigatorIOS
ref="nav"
initialRoute={{ ...this.props }}
style={{
flex: 1
}}
/>
をレンダリング、私のNavigationBar.js
以内に私TabBar.js
<TabBarIOS>
<TabBarIOS.Item
selected={this.state.selectedTab === "profile"}
systemIcon={"most-viewed"}
onPress={() => this.setTab("profile")}
>
<NavigationBar title="Profile" component={Profile} passProps={{ showFilter: this.state.showFilter }} />
</TabBarIOS.Item>
</TabBarIOS>
のために私のコードの例です、this.state.showFilter
はTabBar
に更新されます。次に、それを
があり、正しく、NavigationBar
の内部render()
機能は、この時点で、しかし
を実行している、私のコンポーネントはinitialRoute
(プロフィール)に記載されているコンポーネントを再表示されませんNavigatonBar
に受け継がれていますこれを達成する方法は?フィルタをクリックすると、Profile
の中に任意の変数を設定して、フィルタを非表示にして表示する必要があります。Modal
私はIOSについてよく分かりませんが、この質問には解決策があるようです: http://stackoverflow.com/questions/3249240/how-to-pop-a-controller-off-the-navigation- stack-without-using-the-navigation-ba –
コメントをいただきありがとうございます。これはSwift/Objective-C(あなたが提供したリンクにあるもの)に近いReact Native(JavaScript) – Dan