React Native + react-native-router-flux:如何将 hideNavBar 仅应用于一个 <Scene/>?

React Native + react-native-router-flux: How to apply hideNavBar to only one <Scene/>?

在使用 react-native-router-flux 的 React Native 中,我有两个 <Scene/>,当我将 hideNavBar 应用于第一个 Login 时,它也适用于第二,Home,即使他们处于同一级别。我如何才能将 hideNavBar 应用于一个 <Scene/>Login

const RouterWithRedux = connect()(Router)
const store = configureStore()

export default class App extends Component {
  render() {
    return (
      <Provider store={store}>
        <RouterWithRedux>
          <Scene key='root'>
            <Scene component={Login} hideNavBar initial={true} key='login' title='Login'/>
            <Scene component={Home} key='home' title='Home'/>
          </Scene>
        </RouterWithRedux>
      </Provider>
    )
  }
}

我不确定原因。可能它会在不同 actions/PUSH 中保留一些状态参数。作为解决方法,您始终可以尝试明确:它对我有用。

const RouterWithRedux = connect()(Router)
const store = configureStore()

export default class App extends Component {
  render() {
    return (
      <Provider store={store}>
        <RouterWithRedux>
          <Scene key='root'>
            <Scene component={Login} hideNavBar initial={true} key='login' title='Login'/>
            <Scene component={Home} hideNavBar={false} key='home' title='Home'/>
          </Scene>
        </RouterWithRedux>
      </Provider>
    )
  }
}

从该路线开始,导航栏可见。如果您的登录名在整个场景流程中只出现一次,这是合适的。