Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-core/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
React native 反应本机导航选项标题未显示_React Native - Fatal编程技术网

React native 反应本机导航选项标题未显示

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} />,

下面是我的React本机类的一个片段-

  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,
    };
  },
    },
   ........