如何在完成提取时如何导航到另一个反应原生屏幕

时间:2017-07-26 14:20:24

标签: react-native react-navigation

我是React Native的新手,并尝试创建我的第一个应用。所以我有一个问题:

我有2个屏幕(使用反应导航)。在第一个屏幕上有一个带有微调器的app徽标(来自native-base)并同时提取到服务器。而且只有在获取结束并处理响应时我才需要导航到另一个屏幕。我在react-navigation文档中找到的所有内容都是带按钮的解决方案,但这不是我的情况。另外我不想使用ActivityIndi​​catorIOS(应用程序对于Android应该是正确的)。

请帮我理解我该怎么办?

非常感谢!

1 个答案:

答案 0 :(得分:8)

只需调用导航功能,然后在catch中适当地回调fetch或handle错误。

react-navigation中的每个屏幕都会获得navigation道具。您可以使用navigate功能导航到任何屏幕。像这样的东西

class FirstScreen extends React.Component {
  static navigationOptions = {
    title: 'First',
  }
  componentDidMount(){
    const {navigate} = this.props.navigation;
    navigate('Second');
    fetch('http://apiserver').then( (response) => {
      navigate('Second');
    });
  }
  render() {
    return (
      <AppLogo />
    );
  }
}

const AppNavigator = StackNavigator({
  First: {
    screen: FirstScreen,
  },
  Second: {
    screen: SecondScreen,
  },
});