Angrenzenden JSX-Elemente müssen gewickelt werden, die in einem umschließenden tag
Ich möchte eine Navigationsleiste am unteren und eine Symbolleiste am oberen Rand jeder Seite in meine Reagieren Native app. Jedoch, wenn ich diese beiden Elemente in der index.ios.js Datei, erhalte ich die Fehlermeldung: "Angrenzenden JSX-Elemente müssen gewickelt werden, die in einem umschließenden tag". Wenn ich tags rund um die Navigator und die NavBar habe ich nur einen leeren Bildschirm angezeigt, in mein app. Was soll ich tun? Hier ist, was mein render-Funktion sieht aus wie in index.ios.js
JS:
render() {
return (
<Navigator
initialRoute={{name: 'Login'}}
renderScene={this.renderScene}
navigationBar={
<Navigator.NavigationBar
style={ styles.nav }
routeMapper={ NavigationBarRouteMapper } />
}
/>
<NavBar />
);
}
Du musst angemeldet sein, um einen Kommentar abzugeben.
Wenn Sie wickeln Sie es in einer Ansicht stellen Sie sicher, dass Sie die flex-1. Meine Vermutung ist, dass die Ansicht, die Sie geben, es hat keine Größe und somit die Kind-Elemente vererben Ihre Größe von den Eltern (die 0)
Als pro Reagieren 16, wenn Sie wan ' T um zu vermeiden, die
<View>
Verpackung,zurück können Sie mehrere Komponenten von Rendern als ein array.
Oder in einer Staatenlosen ES6-Komponente:
Vergessen Sie nicht, die key-Eigenschaft wie Reagieren muss (wie für die iteration über Array) in der Lage sein zu unterscheiden, Ihre Komponenten.
Bearbeiten (Nov. 2018)
Können Sie auch verwenden,
Reagieren.- Fragment
Kürzel:Wrap-innen eine Ansicht, und geben Sie das äußere Ansicht wrapper ein Stil, der flex-1. Beispiel: