React Native提取方法在Android真实设备中持续时间过多

时间:2018-07-07 17:39:26

标签: react-native react-native-android

我有一个简单的组件,正在虚拟iOS设备和物理Android设备中进行测试。该组件向服务器请求JSON格式的用户。在两个设备中调用URL https://jsonplaceholder.typicode.com/users时,一切正常。

当我为用户调用服务器https://steppin-in.space/api/test时出现问题。在虚拟设备中没有延迟,但是在Android设备中大约有2分钟的延迟。


对于可能导致这种情况的原因我没有很多想法,但是最近我遇到了问题,因为我的服务器中没有设置 cors 。这使我认为问题与发送和接收的标头有关。

我还应该注意,这种适合于纯反应的成分效果很好。


复制粘贴组件

import React, {Component} from 'react';
import { StyleSheet, Text, View, ActivityIndicator} from 'react-native';


export default class App extends Component {
  constructor(props) {
    super(props);

    this.state = {
      isLoading: true,
      data: null
    };
  }

  componentDidMount(){
    // return fetch('https://jsonplaceholder.typicode.com/users')
    return fetch('https://steppin-in.space/api/test')
      .then( (response) => response.json())

      // .then( (jsonData) => console.log(jsonData) )
      .then( (responseJson) => {
          this.setState({
              isLoading: false,
              data: responseJson[0].name
          })
      })
      .catch((error) => {
        console.log('my Error: ', error);
      })
  }

  render() {
        if (this.state.isLoading) {
            return (
                <View style={styles.container}>
                    <ActivityIndicator size="large" />
                </View>
            )
        } else {

            return (
                <View style={styles.container}>
                  <Text>
                    {this.state.data}
                  </Text>
                </View>
            );
        }
    }
}

const styles = StyleSheet.create({
  container: {
    flex: 1,
    justifyContent: 'center',
    alignItems: 'center',
    backgroundColor: '#F5FCFF',
  },
});

0 个答案:

没有答案