React Native and require('http')

The node core shipped with React Native does not seem to include node core http. Is it possible to add it and use at all within React Native?

Many Thanks in Advance.

I think you're stuck at the moment. My understanding is that while React Native uses nodejs to get up and running, the runtime isn't actually nodejs, which is why you can't just require http.

This closed issue says pretty much that, with regards to util and request from nodejs:

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

According to the react-native team,

For this specific case you'll likely want to use the fetch API which is provided by the environment. React Native does not run inside of the node runtime.

fetch works similarly to http. Here is a short example of how to use it:

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

Try this module: https://github.com/peter4k/react-native-backbone. It use backbone concept and has some http method.

Comments

Popular posts from this blog

Meaning of `{}` for return expression

Get current scroll position of ScrollView in React Native

Chart JS +ng2-charts not working on Angular+2