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

时间:2016-09-21 09:01:47

标签: javascript reactjs react-native react-jsx react-native-router-flux

在使用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>
    )
  }
}

1 个答案:

答案 0 :(得分: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可见。如果您的登录仅在整个场景流中出现一次,那么这是合适的。