2017-02-08 8 views
1

私はiOSとAndroidに展開したいアバタービルダにReact Nativeを使用しています。 localhost:3000を使用するサーバー用にExpressを使用しています。ネイティブはlocalhost:8081を使用します。 Androidのエミュレータでは、ネイティブデバッガ特急用ポート3000、反応ネイティブ用のポート8081、入手方法

Error: Network Error 
    at createError (createError.js:15) 
    at XMLHttpRequest.handleError (xhr.js:87) 
    at XMLHttpRequest.dispatchEvent (event-target.js:172) 
    at XMLHttpRequest.setReadyState (XMLHttpRequest.js:542) 
    at XMLHttpRequest.__didCompleteResponse (XMLHttpRequest.js:378) 
    at XMLHttpRequest.js:482 
    at RCTDeviceEventEmitter.emit (EventEmitter.js:181) 
    at MessageQueue.__callFunction (MessageQueue.js:236) 
    at MessageQueue.js:108 
    at guard (MessageQueue.js:46) 

答えて

3

を反応に

import axios from 'axios'; 
import React, { Component } from 'react'; 
import { AppRegistry, Text } from 'react-native'; 
import { Container, List, ListItem, Header, Title, Content, Thumbnail } from 'native-base'; 
import { Action } from 'react-native-router-flux'; 

export default class Class extends Component { 
    componentWillMount(){ 
    axios.get('https://localhost:3000') 
     .then(function (response) { 
     console.log(response); 
     }) 
     .catch(function (error) { 
     console.log(error); 
     }); 
} 

render() { 
    return (
     <Container> 
     <Header><Title>Choose Race</Title></Header> 
     <Content> contents here <Content>);}} 

私は次のエラーを取得する、localhostは、Androidシステムを指します。参照するには10.0.2.2を使用します。例えば。たとえば、あなたはおそらく、あなたがローカルでテストしながら、いくつかのプラットフォーム固有のロジックを実行する必要がありますHow do I access the host machine itself from the iPhone simulator

:iOSのエミュレータでhttp://10.0.2.2:3000How to connect to my http://localhost web server from Android Emulator in Eclipse

しかし、localhostは、ホストマシンを参照ん

import { Platform } from 'react-native'; 

const host = Platform.select({ 
    ios: 'localhost', 
    android: '10.0.2.2', 
}); 

// ... 
    axios.get(`http://${host}:3000/`) 
    // ... 
関連する問題