1

In React Native using react-native-router-flux, I have two <Scene/> and when I apply hideNavBar to the first one, Login, it also applies to the second, Home even though they are on the same level. How can I apply hideNavBar to only one <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>
    )
  }
}
4

1 回答 1

2

我不确定原因。可能它会保留一些不同的状态参数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>
    )
  }
}

从那条路线开始,NavBar 是可见的。如果您的登录仅在整个场景流中出现一次,则它是合适的。

于 2016-09-21T16:26:02.920 回答