2015-03-31 5 views
6

Ядро узла, поставляемое с React Native, похоже, не включает в себя ядро ​​узла http. Можно ли добавить его и использовать вообще в React Native?React Native и require ('http')

Большое спасибо в Advance.

+0

Что вам нужно сделать? Не могли бы вы использовать ответную сетевую полиномию? http://facebook.github.io/react-native/docs/network.html#content –

+0

Спасибо, Колин. Я хотел бы использовать некоторые библиотеки (один из них pouchdb), которым нужен модуль http. – NotoriousDMC

ответ

6

Я думаю, что вы застряли в данный момент. Я понимаю, что, хотя React Native использует nodejs для запуска и запуска, время выполнения не фактически nodejs, поэтому вы не можете просто require http.

Этот вопрос решенный говорит довольно много, что, по отношению к util и request от nodejs:

https://github.com/facebook/react-native/issues/375

+0

Спасибо, что указали это, Колин. – NotoriousDMC

+0

Действительно, это не узел. Легче относиться к нему скорее как к браузеру, чтобы быть честным, например, вместо этого используйте XMLHttpRequest или apache api. –

17

В соответствии с среагировать родной команды,

Для этого конкретного случая вас» Вероятно, вы захотите использовать API-интерфейс fetch, который предоставляет среда . React Native не запускается внутри времени выполнения узла.

fetch работает аналогично http. Вот краткий пример того, как использовать его:

// Using fetch to POST 
 

 
fetch(requestURL, { 
 
    method: 'POST', 
 
    headers: { 
 
    'Accept': 'application/json', 
 
    'Content-Type': 'application/json' 
 
    }, 
 
    body: JSON.stringify({ 
 
    message: this.state.input, 
 
    }) 
 
}) 
 

 
// Using fetch to GET 
 

 
fetch(requestURL) 
 
    .then((response) => response.json()) 
 
    .then((responseData) => { 
 
    this.setState({ 
 
     dataSource: this.state.dataSource.cloneWithRows(responseData), 
 
     loaded: true, 
 
    }); 
 
    }) 
 
    .done();

+0

Интересно видеть, что их примеры устарели уже там, где требуется («выборка») больше не требуется. Fetch func находится в построении, насколько я могу понять. – codebased

Смежные вопросы