Как позвонить ASP. NET MVC Web API из React Native Mobile App, используя localhost - PullRequest
0 голосов
/ 01 апреля 2020

Я построил WEB Api с ASP. NET MVC. Я могу получить доступ к API с помощью fetch из JavaScript в моем браузере. Но когда я пытаюсь получить доступ к API из React Native App, я получаю предупреждение: «Возможное необработанное отклонение обещания (id: 2): .......»

Я понимаю предупреждение, так как ничего отображается на экране, но мне интересно, как кто-то может вызвать веб-API на локальном хосте из собственного приложения реагировать.

Я запускаю свое собственное приложение реакции с "expo start --localhost - android" и он появляется на моем android телефоне, подключенном через USB к моей машине.

Приложение. Js

import React from "react";
import { StyleSheet, Text, View, FlatList } from "react-native";

import Constants from "expo-constants";

import Row from "./Row";

export default class App extends React.Component {
  state = {
    movies: null,
    isLoading: true
  };

  componentDidMount() {
    return fetch("https://localhost:44343/api/movies")
      .then(response => {
        return response.json();
      })
      .then(data => {
        this.setState({
          movies: data,
          isLoading: false
        });
      })
      .catch(err => {
        this.setState({ movies: [...this.state.movies, err] });
      });
  }

  render() {
    if (this.state.isLoading) {
      return (
        <View style={styles.container}>
          <Text>Loading...</Text>
        </View>
      );
    } else {
      return (
        <View style={styles.container}>
          <Text style={styles.text}>-MOVIES-</Text>
          <FlatList
            data={this.state.movies}
            renderItem={({ item }) => <Row movies={item} />}
          />
        </View>
      );
    }
  }
}

const styles = StyleSheet.create({
  container: {
    flex: 1,
    backgroundColor: "#fff",
    alignItems: "center",
    justifyContent: "center",
    paddingTop: Constants.statusBarHeight
  },
  text: {
    fontSize: 40
  }
});

, если вы посмотрите на componentDidMount() Я пытался позвонить fetch("https://localhost:44343/api/movies"), но это не работает, но когда я запускаю свое приложение в Интернете, оно работает просто отлично.

Кто-нибудь знает, как это исправить, так что я могу позвонить API непосредственно от реагировать родной?

...