2017-12-04 6 views
0

私はReact-Nativeを初めて使っていて、2つのタブナビゲータを使いたいアプリケーションを作成しようとしています。外側タブおよび内側タブを含む。タブナビゲータ内でタブナビゲータを使用するにはどうすればよいですか?

のMapViewとリストビューのためのタンク、アラートおよび設定のための外側のタブ... インナータブタンク内部の...

export default class Home extends Component { 
static navigationOptions = { 
    header:null 
}; 

constructor(props) { 
    super(props); 
    this.state = { 
    } 
} 

render() { 
    return (
     <MyApp/> 
    ); 
} 
} 
export const MyApp = TabNavigator({ 

tanks: { 
screen: TanksScreen 
}, 
alerts: { 
screen: AlertScreen 
}, 
Settings: { 
    screen: SettingScreen 
}, 
}, 

そして使用することによりTanksScreen

export default class TanksScreen extends Component { 
static navigationOptions = { 
header:null 
}; 

constructor(props) { 
    super(props); 
    this.state = { 
    } 
} 
render() { 
    return (
     <MapsView/> 
); 
} 
} 
export const MapsView = TabNavigator({ 

Map: { 
screen: MapsScreen, 
}, 
List: { 
screen: ListScreen, 
}, 
}, 

で、この次のコード上記のコードでは、私は外側のタブナビゲータの完全な機能を得ることができますが、それは内側のタブになると、タブは、リストビューの画面にナビゲートしていないか、またはmapsviewの任意のテキストやUIコンポーネントをレンダリングしていません。

何か間違っていますか?またはこの要件を達成するための方法があります。ありがとうございます。

答えて

1

TanksScreenコンポーネントでは内側のタブのみが返されるため、外側のタブに直接接続するだけで問題を解決できます。

export const MyApp = TabNavigator({ 
    tanks: { 
    screen: MapsView 
    }, 
    alerts: { 
    screen: AlertScreen 
    }, 
    Settings: { 
    screen: SettingScreen 
    }, 
} 
+0

lazyLoadを使用すると、私の問題を解決できました。とにかくあなたの答えはまた、mapsViewを使う簡単な方法を提供しました。ありがとう@nimarod – HungrySoul

関連する問題