【问题标题】:Actions.refs.SCREEN_NAME doesn't work in react-native-router-flux packageActions.refs.SCREEN_NAME 在 react-native-router-flux 包中不起作用
【发布时间】:2018-03-23 02:43:50
【问题描述】:

我可以看到这条消息 Actions.refs is undefined; 我想在定义路由器的 app.js 的主屏幕中切换菜单。 所以我必须调用组件的方法,但我不能。

【问题讨论】:

    标签: reactjs react-native react-router react-redux


    【解决方案1】:

    这就是带有 react-native-router-flux 的路由器的样子:

    const RouterComponent = () => {
      return (
        <Router>
          <Scene key="root">
            <Scene key="auth">
              <Scene
                initial
                key="autoLogin"
                component={AutoLoginPage}
                title="Please Login"
                hideNavBar={true}
                panHandlers={null}
              />
              <Scene
                key="login"
                component={LoginPage}
                title="Please Login"
                hideNavBar={true}
                panHandlers={null}
              />
            </Scene>
          </Scene>
        </Router>
    

    你必须在你的路由器文件中导入你想要导航到的组件:在这个例子中

    import LoginPage from './scenes/LoginPage';
    import AutoLoginPage from './scenes/AutoLoginPage';
    

    然后,从您的 App.js 中,您只需创建路由器组件

    import Router from './Router';
    
    class App extends Component {
      render () {
        const store = createStore(reducers, {}, applyMiddleware(ReduxThunk));
        return (
          <Provider store={store} >
            <Router />
          </Provider>
        );
      }
    }
    export default App;
    

    然后您可以执行 Actions.login() 以重定向到此页面。 如果您想了解更多信息,请更准确地了解您的问题。 希望能帮助到你 !

    【讨论】:

    • 如果 LoginPage 组件中有登录方法,那么如何在 AppComponent 中调用该方法。
    猜你喜欢
    • 2020-10-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-04-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多