/
6.0-networking_capability
6.0-networking_capability
Here we focus on how we are going move away from the static data to network data
5 files modified
npm install --save axios
Keep the endpoints in a separate file so we don’t have any machine numbers in the code
SalesHistory.jsx
Code that’s needed
endpoints.js
const JSON_SERVER = 'http://localhost:3000';
export const EP_SALES = '/sale';
export const REMOTE_HOST = JSON_SERVER;
salesConnections.js
import axios from 'axios';
import { REMOTE_HOST, EP_SALES } from './endpoints';
export const getSales = async (setGetError) => {
try {
const res = await axios.get(REMOTE_HOST + EP_SALES);
return res.data.length ? ({ sales: res.data }) : ({ error: `There are no todos stored` });
}
catch (e) {
setGetError(`Data not available from server: ${e.message}`)
return ({ error: `Data not available from server: ${e.message}` });
}
};
Network.jsx
import React, { useState, useEffect } from 'react';
import { Modal } from 'react-bootstrap';
import './salesConnections'
import { getSales } from './salesConnections';
const Network = ({setDataStore}) =>
{
const [getError, setGetError] = useState(``);
// const [postError, setPostError] = useState(``);
// const [putError, setPutError] = useState(``);
useEffect(() => {
const getData = async () => {
let data = await getSales(setGetError);
setDataStore( data );
}
getData();
}, []);
return (
<>
{getError && <Modal handleClose={() => setGetError(``)} message={getError} />}
</>
)
}
export default Network;