2017-07-20 3 views
-1

Ich versuche, diesen Code zu integrieren, einen Bildschirm mit navigationbar und eine scrollbare Registerkarte, so etwas zu schaffen: enter image description hereWie navigationbar mit scrollbaren-Tab-Ansicht

Hier ist mein Code:

import NavigationBar from 'react-native-navigation-bar'; 
import React, { PureComponent } from 'react'; 
import { View, StyleSheet , Text} from 'react-native'; 
import ScrollableTabView, { ScrollableTabBar, } from 'react-native- scrollable-tab-view'; 
export default class HomePage extends PureComponent{ 
render() { 
return (
<NavigationBar 
title={'this is a test'} 
height={44} 
titleColor={'#fff'} 
backgroundColor={'#149be0'} 
leftButtonTitle={'back'} 
leftButtonTitleColor={'#fff'} 
rightButtonTitle={'forward'} 
rightButtonTitleColor={'#fff'} 
    /> 
    <ScrollableTabView 
style={{marginTop: 20, }} 
initialPage={2} 
renderTabBar={() => <ScrollableTabBar />} 
> 
<Text tabLabel='Tab #1'>My</Text> 
<Text tabLabel='Tab #2'>favorite</Text> 
<Text tabLabel='Tab #3'>project</Text> 
</ScrollableTabView> 
)}; 
}; 

Ich erhalte diesen Fehler: Adjacent JSX elements must be wrapped in an enclosing tag

Hw kann ich es bitte reparieren.

+2

"Benachbarte JSX Elemente müssen in einem umschließenden Tag enthalten sein", schließen vielleicht Ihre Rückkehr mit einem div? Sie können nicht mehrere JSX-Elemente in render zurückgeben (Sie tun dies mit einer navigationBar und einer ScrallableTabView). – Nevosis

+2

Da dies reaktionsnativ ist, müssen Sie Ihre NavigationBar und ScrollableTabView in eine View-Komponente einbinden. –

Antwort

3

als Fehler sagt, müssen Sie Ihren Code einpacken. Sie müssen render()

in einzelnen wiederkehrendes Element haben in reagieren nativer:

return (
    <View style={{flex: 1}}> 
    //place your content here 
    </View> 
); 

in reagieren:

return (
    <div> 
    //place your content here 
    </div> 
); 
0

Sie scheint in Ihrem return zwei Tags auf dem gleichen Niveau zu haben. Wenn Sie diese Tags in ein anderes Tag einfügen, das das Problem beheben soll.

Zum Beispiel:

export default class HomePage extends PureComponent{ 
render() { 
    return (
    <div> 
     <NavigationBar 
     title={'this is a test'} 
     height={44} 
     titleColor={'#fff'} 
     backgroundColor={'#149be0'} 
     leftButtonTitle={'back'} 
     leftButtonTitleColor={'#fff'} 
     rightButtonTitle={'forward'} 
     rightButtonTitleColor={'#fff'} 
     /> 
     <ScrollableTabView 
     style={{marginTop: 20, }} 
     initialPage={2} 
     renderTabBar={() => <ScrollableTabBar />} 
     > 
     <Text tabLabel='Tab #1'>My</Text> 
     <Text tabLabel='Tab #2'>favorite</Text> 
     <Text tabLabel='Tab #3'>project</Text> 
     </ScrollableTabView> 
    </div> 
)}; 
}; 
Verwandte Themen