Reactjs 在React导航中将组件用作标题
我试图将一个组件作为堆栈导航器标题。代码如下:Reactjs 在React导航中将组件用作标题,reactjs,react-native,react-navigation,Reactjs,React Native,React Navigation,我试图将一个组件作为堆栈导航器标题。代码如下: const Test = ({ navigation }) => { return ( <View> <Text>Test1</Text> <Text>Test2</Text> </View> ); }; const stackNav = createStackNavigator( { ProductionLi
const Test = ({ navigation }) => {
return (
<View>
<Text>Test1</Text>
<Text>Test2</Text>
</View>
);
};
const stackNav = createStackNavigator(
{
ProductionList: {
screen: List,
navigationOptions: {
header: {
title: <Test />
}
}
},
ProductionBoard: {
screen: Board
}
},
{
navigationOptions: {
headerStyle: {
backgroundColor: colors.dark
},
headerTintColor: "#fff",
headerTitleStyle: {
fontWeight: "bold"
}
}
}
);
关于如何解决这个问题有什么想法吗?对
反应导航中的导航选项进行了一些更改,第2版现在采用了不同的参数
这:
navigationOptions: {
header: {
title: <Test />
}
}
导航选项:{
标题:{
标题:
}
}
现在可以这样做吗
navigationOptions: {
header: <Test />
}
导航选项:{
标题:
}
或
导航选项:{
标题:
}
如果您想使用自定义标题,请执行此操作,使用react导航时会有一些限制
static navigationOptions = {
header : null
};
<View style={styles.header}>
<TouchableOpacity
style={styles.backButton}
onPress={() => this.props.navigation.goBack()}>
<Image
source=
{require("../../../../public/Assets/images/ArrowBack.png")}
/>
</TouchableOpacity>
<Text style={styles.backTitle}>Title</Text>
</View>
const styles = StyleSheet.create({
header: {
flexDirection: "row",
backgroundColor: "#F5F5F5",
paddingTop : Platform.OS == 'ios' ? 20 : 0,
}
backTitle: {
fontFamily: Fonts.GothamMedium,
fontSize: 20,
marginLeft : 10,
marginTop: Platform.OS === 'ios' ? 24 : 16,
marginBottom: Platform.OS === 'ios' ? 20 : 19,
color: "#414042",
},
});
静态导航选项={
标题:空
};
this.props.navigation.goBack()}>
标题
const styles=StyleSheet.create({
标题:{
flexDirection:“行”,
背景颜色:“F5”,
paddingTop:Platform.OS==“ios”?20:0,
}
书名:{
fontFamily:Fonts.GothamMedium,
尺寸:20,
边缘左:10,
marginTop:Platform.OS=='ios'?24:16,
marginBottom:Platform.OS=='ios'?20:19,
颜色:“414042”,
},
});
您应该使用标题
而不是标题:{title
navigationOptions: {
headerTitle: // your custom component here
}
您确定共享的代码是错误源吗?在错误堆栈中看不到它们。错误发生在React Navigator(RN)内部.所有的调用堆栈都是RN的内部函数…我看到这是唯一一个使用函数的地方。开始点:我知道,但通过这种方式,标题不会显示在屏幕上,得到一个空标题…您使用的是react导航的v1或v2吗?我使用的是最新版本(2.0.4)抱歉,我更新了答案,headerTitle
是您现在使用的。如果您想更新依赖项,最新版本是(2.12.0)。
static navigationOptions = {
header : null
};
<View style={styles.header}>
<TouchableOpacity
style={styles.backButton}
onPress={() => this.props.navigation.goBack()}>
<Image
source=
{require("../../../../public/Assets/images/ArrowBack.png")}
/>
</TouchableOpacity>
<Text style={styles.backTitle}>Title</Text>
</View>
const styles = StyleSheet.create({
header: {
flexDirection: "row",
backgroundColor: "#F5F5F5",
paddingTop : Platform.OS == 'ios' ? 20 : 0,
}
backTitle: {
fontFamily: Fonts.GothamMedium,
fontSize: 20,
marginLeft : 10,
marginTop: Platform.OS === 'ios' ? 24 : 16,
marginBottom: Platform.OS === 'ios' ? 20 : 19,
color: "#414042",
},
});
navigationOptions: {
headerTitle: // your custom component here
}