Actions.refs.SCREEN_NAME在react-native-router-flux软件包中不起作用

时间:2018-03-23 02:43:51

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

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

1 个答案:

答案 0 :(得分: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()重定向到此页面。 如果您想要更多信息,请更准确地了解您的问题。 希望能帮助到你 !