React native 反应本机导航选项标题未显示
下面是我的React本机类的一个片段-React native 反应本机导航选项标题未显示,react-native,React Native,下面是我的React本机类的一个片段- class SignUp extends React.Component { static navigationOptions = ({navigation}) => { console.log('from header...'); return { header: <SignUpHeader {...navigation.state.params} />,
class SignUp extends React.Component {
static navigationOptions = ({navigation}) => {
console.log('from header...');
return {
header: <SignUpHeader {...navigation.state.params} />,
headerTransparent: true,
};
};
constructor(props) {...}
render(){....}
export default withTheme(withNavigation(SignUp));
我有一个叫withAppContext的HOC-
const withAppContext = Component => {
return props => (
<AppContext.Consumer>
{value => (
<Component {...props} value={value}>
{props.children}
</Component>
)}
</AppContext.Consumer>
);
};
export {AppContext, withAppContext};
然后控制台日志将不会被打印。因此,这意味着未调用NavigationOptions
我可能错过了什么
请告诉我是否可以进一步解释?最后,我将navigationOptions从注册组件中移出,并将其放入Route.js中,如下所示
const AuthStack = createStackNavigator(
{
SignUp: {
screen: withAppContext(SignUp),
navigationOptions : ({navigation}) => {
return {
header: <SignUpHeader {...navigation.state.params} />,
headerTransparent: true,
};
},
},
........
const AuthStack=createStackNavigator(
{
报名:{
屏幕:withAppContext(注册),
导航选项:({navigation})=>{
返回{
标题:,
校长:是的,
};
},
},
........
但是,我不能诚实地解释为什么早期的方法不起作用。您能尝试将您的HOC放在SignUpScreen的导出位置吗?可能会将HOC视为路由,而注册屏幕被视为withAppContext的子级。@Auticcat我已经尝试过了,但没有起作用。谢谢您的回复。
const AuthStack = createStackNavigator(
{
LoginRegisterSelection: {
screen: LoginRegisterSelection,
},
SignUp: {
screen: withAppContext( SignUp),
},
const AuthStack = createStackNavigator(
{
SignUp: {
screen: withAppContext(SignUp),
navigationOptions : ({navigation}) => {
return {
header: <SignUpHeader {...navigation.state.params} />,
headerTransparent: true,
};
},
},
........