Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
502 views
in Technique[技术] by (71.8m points)

android - Two header button left and right React Navigation v5

Im trying to achieve this

Header

headerRight doesn't work, only headerLeft and headerTitle working

import Icon from 'react-native-vector-icons/MaterialIcons';

    <HomeStack.Navigator
          screenOptions={{headerStyle: {elevation: 0, shadowOpacity: 0}}}>
          <HomeStack.Screen
            name={NAVIGATOR.ProviderTypeTab}
            component={ProviderTypeStack}
            options={{
              title: null,
              headerLeft: () => (
                <View style={{marginTop: 10, marginLeft: 10}}>
                  <ProfilePicComponent onPress={handleDrawer} />
                </View>
              ),
              headerRight: () => {
                <View style={{height: 10, width: 10, backgroundColor: 'red'}}>
                  {/* <Icon name="location-on" size={24} /> */} //headerRight doesn't work
                </View>;
              },

              headerTitle: () => (
                <View style={{width: '85%', marginTop: 10}}>
                  <SearchInputComponent onPress={handleDrawer} />
                </View>
              ),
            }}
          />
        </HomeStack.Navigator>
question from:https://stackoverflow.com/questions/65914425/two-header-button-left-and-right-react-navigation-v5

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)

headerRight is same as headerLeft but you are not returning anything from the function that you have provided for headerRight

Change

headerRight: () => {
                <View style={{height: 10, width: 10, backgroundColor: 'red'}}>
                  {/* <Icon name="location-on" size={24} /> */} //headerRight doesn't work
                </View>;
              },

To

headerRight: () => (
                <View style={{height: 10, width: 10, backgroundColor: 'red'}}>
                  {/* <Icon name="location-on" size={24} /> */} //headerRight doesn't work
                </View>;
              ),

Or

headerRight: () => {
               return  (<View style={{height: 10, width: 10, backgroundColor: 'red'}}>
                  {/* <Icon name="location-on" size={24} /> */} //headerRight doesn't work
                </View>);
              },

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...