Javascript 导航未传递到标题右侧按钮?

Javascript 导航未传递到标题右侧按钮?,javascript,react-native,react-native-navigation,Javascript,React Native,React Native Navigation,我添加了几个标题右侧按钮,但当我单击它们时,会出现以下错误: TypeError: undefined is not an object (evaluating '_this.props.navigation.navigate') 这是标题的代码,它具有标题右侧按钮: <Stack.Screen name="Tabs" component={Tabs} options = {{

我添加了几个标题右侧按钮,但当我单击它们时,会出现以下错误:

TypeError: undefined is not an object (evaluating '_this.props.navigation.navigate')
这是标题的代码,它具有标题右侧按钮:

   <Stack.Screen 
          name="Tabs" 
          component={Tabs} 
          options =  {{
              title: " ",
              headerTitleStyle: {
                fontWeight: 'bold',
                fontSize: 24,
                color: '#FFFFFF'
              },
              headerStyle: {
                backgroundColor: '#121212',
                shadowColor: 'transparent'
              },
              headerRight: () => (
                <View style={{flexDirection: "row"}}>

                  <TouchableOpacity 
                    style={{paddingRight: 20}}
                    onPress={() => this.props.navigation.navigate('Search')}>
                    <Ionicons name="ios-search" size={25} color="white" />
                  </TouchableOpacity>

                  <TouchableOpacity 
                      style={{paddingRight: 20}}
                      onPress={() => this.props.navigation.navigate('Notifications')}>
                      <Ionicons name="md-notifications" size={25} color="white" />
                  </TouchableOpacity>

                </View>
                
              ),

          }}/>
(
this.props.navigation.navigate('Search')}>
this.props.navigation.navigate('Notifications')}>
),
}}/>
如何访问标题中的导航

编辑:跟踪文档并将其更改为:

        <Stack.Screen 
          name="Tabs" 
          component={Tabs} 
          options = {( navigation ) => ({
              title: " ",
              headerTitleStyle: {
                fontWeight: 'bold',
                fontSize: 24,
                color: '#FFFFFF'
              },
              headerStyle: {
                backgroundColor: '#121212',
                shadowColor: 'transparent'
              },
              headerRight: () => (
                <View style={{flexDirection: "row"}}>

                  <TouchableOpacity 
                    style={{paddingRight: 20}}
                    onPress={() => navigation.navigate('Search')}>
                    <Ionicons name="ios-search" size={25} color="white" />
                  </TouchableOpacity>

                  <TouchableOpacity 
                      style={{paddingRight: 20}}
                      onPress={() => navigation.navigate('Notifications')}>
                      <Ionicons name="md-notifications" size={25} color="white" />
                  </TouchableOpacity>

                </View>
                
              ),

          })}/>
({
标题:“,
头饰样式:{
fontWeight:'粗体',
尺寸:24,
颜色:“#FFFFFF”
},
头型:{
背景颜色:'#121212',
阴影颜色:“透明”
},
头灯:()=>(
导航。导航('Search')}>
导航。导航('Notifications')}>
),
})}/>
但是现在得到这个错误:

TypeError:navigation.navigate不是一个函数。(在“navigation.navigate('Search')”中,“navigation.navigate”未定义)


如何访问标题中的导航?

您可以将
选项定义为以导航对象为参数的函数:

options={({navigation})=>({
标题:“,
headerTitleStyle:{…}
})}
这是一本书


可以找到其他用例。

您可以将
选项定义为以导航对象为参数的函数:

options={({navigation})=>({
标题:“,
headerTitleStyle:{…}
})}
这是一本书


可以找到其他用例。

遵循文档并添加了该用例。现在,我得到一个错误:
navigation.navigate不是一个函数。(在“navigation.navigate('Search')”
中确保您使用的是
({navigation})=>…
而不是
(navigation)=>…
漂亮。谢谢!遵循文档并添加了它。现在,我得到错误:
navigation.navigate不是一个函数。(在“navigation.navigate('Search')”
中确保您使用的是
({navigation}=>…
而不是
(navigation)=>…
漂亮。谢谢!