2016-12-13 6 views
0

React Nativeに疑問があります。私はこの回答を読んで(How to do a multi-page app in react-native?)が、私は少しの疑いで滞在:サンプルネイティブで反応したネイティブのサンプルアプリケーションでNビューを使用する

  • 私は多くのビューにナビゲータを使用し、ネイティブアプリケーションを反応させるのが、私はNのcomponentesにはどうすればよいですか?たとえば、5つの異なるビューがある場合は、前のコードを5回使用しています...そしてn回ですか?
+0

あなたはそのようにレンダリングする必要はありません... tbh thats shitty answer。ルックアップテーブルを使って動的にレンダリングすることができます。 –

答えて

0

私のコメントにはさらに詳しい情報があります。代わりに、この

if (routeId === 'SplashPage') { 
    return (
     <SplashPage 
      navigator={navigator}/> 
    ); 
} 
if (routeId === 'LoginPage') { 
    return (
     <LoginPage 
      navigator={navigator}/> 
    ); 
} 

はちょうどあなたが動的にコンポーネントを取得するために使用するハッシュテーブルを持っています。

const Component = VIEW_COMPONENTS[routeid]; 

ので、あなたのコードは、ルックアップテーブルへの単一のラインエントリとなり、この

const VIEW_COMPONENTS = { 
    'SplashPage': SplashPage, 
    'LoginPage': LoginPage 
}; 

renderScene = (route, navigator) => { 
    const ViewComponent = VIEW_COMPONENTS[route.id]; 
    return <ViewComponent navigator={navigator}/> 
} 

任意の追加の画面のようになります。私は40スクリーンのネイティブアプリを持っており、このような管理が非常に簡単です

これに追加するには、あなたはこれをさらに抽象化することができます。どのビューを使用するのか、またはその次のビューを気にしないようにする。代わりにそのすべてをルックアップオブジェクトの一部にします。すべてのビューが表示できる次のルートを指定します。すべての追加情報を渡すことができ、そのすべては設定可能で、画面は複数のフローで再利用できます!

+0

ありがとう!だから私はコンポーネント間を移動することができますか?たとえば、この場合、各コンポーネントは質問に対応します。 –

関連する問題