React Native附带的节点核心似乎不包含节点核心http。是否有可能在React Native中添加它并使用它?
非常感谢提前。
答案 0 :(得分:17)
根据本土反应团队的说法,
对于这种特定情况,您可能希望使用fetch API 由环境提供。 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();
答案 1 :(得分:7)
我觉得你现在陷入了困境。我的理解是,虽然React Native使用nodejs启动并运行,但运行时不是实际 nodejs,这就是为什么你不能只require
http。
关于来自nodejs的util
和request
,这个已关闭的问题几乎就是这样说的:
答案 2 :(得分:0)
试试这个模块:https://github.com/peter4k/react-native-backbone。它使用骨干概念并有一些http方法。