react fetch get request code example
Example 1: fetch api react
// This is what I've been using, pretty straight forward
// It passes the JSON to the children as props
// Of course, you fetch what you will
import React, { Component, Fragment } from 'react';
export class FetchJsonController extends Component
{
constructor(props) {
super(props);
this.state = {
data: null,
};
}
componentDidMount() {
fetch(this.props.src)
.then(response => response.json())
.then(data => {
console.log(data);
this.setState({ data })
});
}
render() {
const _data = this.state.data;
const children = React.Children.map(this.props.children, child => {
return React.cloneElement(child, {
jsonData: _data
});
});
return (
<div>{ children }</div>
)
}
}
// This is how it's used
// SomeCompnent will receive the JSON data
<FetchJsonController src="somefile.json">
<SomeComponent />
</FetchJsonController>
Example 2: fetch get request
// Example POST method implementation:
async function postData(url = '', data = {}) {
// Default options are marked with *
const response = await fetch(url, {
method: 'POST', // *GET, POST, PUT, DELETE, etc.
mode: 'cors', // no-cors, *cors, same-origin
cache: 'no-cache', // *default, no-cache, reload, force-cache, only-if-cached
credentials: 'same-origin', // include, *same-origin, omit
headers: {
'Content-Type': 'application/json'
// 'Content-Type': 'application/x-www-form-urlencoded',
},
redirect: 'follow', // manual, *follow, error
referrerPolicy: 'no-referrer', // no-referrer, *no-referrer-when-downgrade, origin, origin-when-cross-origin, same-origin, strict-origin, strict-origin-when-cross-origin, unsafe-url
body: JSON.stringify(data) // body data type must match "Content-Type" header
});
return response.json(); // parses JSON response into native JavaScript objects
}
postData('https://example.com/answer', { answer: 42 })
.then(data => {
console.log(data); // JSON data parsed by `data.json()` call
});