Я построил 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 непосредственно от реагировать родной?