【问题标题】:React Native + react-native-router-flux: How to apply hideNavBar to only one <Scene/>?React Native + react-native-router-flux:如何仅将 hideNavBar 应用于一个 <Scene/>?
【发布时间】:2016-09-21 09:01:46
【问题描述】:

在使用 react-native-router-flux 的 React Native 中,我有两个 &lt;Scene/&gt;,当我将 hideNavBar 应用于第一个 Login 时,它也适用于第二个 Home,即使它们处于同一水平。如何将hideNavBar 仅应用于&lt;Scene/&gt;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>
    )
  }
}

【问题讨论】:

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


    【解决方案1】:

    我不确定原因。可能它会在不同的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 是可见的。如果您的登录名在整个场景流程中只出现一次,这是合适的。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多