React Native和require('http')

时间:2015-03-31 14:54:45

标签: react-native

React Native附带的节点核心似乎不包含节点核心http。是否有可能在React Native中添加它并使用它?

非常感谢提前。

3 个答案:

答案 0 :(得分:17)

根据本土反应团队的说法,

  

对于这种特定情况,您可能希望使用fetch API   由环境提供。 React Native不会在里面运行   节点运行时。

fetchhttp的工作方式类似。以下是如何使用它的简短示例:

// 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();

答案 1 :(得分:7)

我觉得你现在陷入了困境。我的理解是,虽然React Native使用nodejs启动并运行,但运行时不是实际 nodejs,这就是为什么你不能只require http。

关于来自nodejs的utilrequest,这个已关闭的问题几乎就是这样说的:

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

答案 2 :(得分:0)

试试这个模块:https://github.com/peter4k/react-native-backbone。它使用骨干概念并有一些http方法。