React Native Expo Splash屏幕,异步渲染

时间:2019-01-01 07:22:29

标签: react-native splash-screen expo

如何在后台渲染React本机组件?我需要启动屏幕,但是当前示例仅允许异步下载数据。

我曾在Expo上尝试过AppLoading的SplashScreen,但它只允许首先下载数据,而不允许组件的异步渲染。

import React from 'react';
import { Image, Text, View } from 'react-native';
import { Asset, SplashScreen } from 'expo';

export default class App extends React.Component {
  state = {
    isReady: false,
  };

  componentDidMount() {
    SplashScreen.preventAutoHide();
  }

  render() {
    if (!this.state.isReady) {
      return (
        <View style={{ flex: 1 }}>
          <Image
            source={require('./assets/images/splash.gif')}
            onLoad={this._cacheResourcesAsync}
          />
        </View>
      );
    }

    return (
      // ...
    );    
  }

  _cacheResourcesAsync = async () => {
    SplashScreen.hide();

   // ....

    await Promise.all(cacheImages);
    this.setState({ isReady: true });
  }
}

这仅异步下载数据,但我想异步呈现。

0 个答案:

没有答案