如何将"从外部"链接到导航器(例如从全局页脚)

cse*_*lus 3 reactjs react-native react-navigation

使用React Navigation,有没有办法从外部链接到导航器内的特定路径/屏幕?

例如,实现一个全局页脚,如下所示:

<Provider store={store}>
  <View>
     <AppNavigator />
     <MyFooter /> // Link from here to a path/screen inside AppNavigator
  </View>
</Provider>
Run Code Online (Sandbox Code Playgroud)

mra*_*won 8

我想refs可能会在这里工作.如果你想在同一级别使用Navigator,你可以使用反应refs并传递props给它MyFooter.请看官方文档中的示例.

const AppNavigator = StackNavigator(SomeAppRouteConfigs);

class App extends React.Component {
  someFunction = () => {
    // call navigate for AppNavigator here:
    this.navigator && this.navigator.dispatch({ type: 'Navigate', routeName, params });
  }
  render() {
    return (
      <View>
        <AppNavigator ref={nav => { this.navigator = nav; }} />
        <MyFooter someFunction={this.someFunction} />
      </View>
    );
  }
}
Run Code Online (Sandbox Code Playgroud)