ExpressJS_03_express_z_react_fetch.md

#03expresszreactfetch

Opis React może pobierać dane z Expressa przez fetch.

#Express index.js

JAVASCRIPTconst express = require("express");
const cors = require("cors");

const app = express();
const PORT = 3000;

app.use(cors());
app.use(express.json());

const produkty = [
  { id: 1, nazwa: "Myszka", cena: 50 },
  { id: 2, nazwa: "Klawiatura", cena: 120 },
  { id: 3, nazwa: "Monitor", cena: 700 }
];

app.get("/produkty", (req, res) => {
  res.json(produkty);
});

app.listen(PORT, () => {
  console.log("API działa na porcie " + PORT);
});

Instalacja CORS:

BASHnpm install cors

#React App.jsx

REACTimport { useEffect, useState } from "react";

function App() {
  const [produkty, setProdukty] = useState([]);

  useEffect(() => {
    fetch("http://localhost:3000/produkty")
      .then((res) => res.json())
      .then((data) => setProdukty(data))
      .catch((err) => console.log(err));
  }, []);

  return (
    <div>
      <h1>Produkty z API</h1>

      {produkty.map((produkt) => (
        <div key={produkt.id}>
          {produkt.nazwa} - {produkt.cena} zł
        </div>
      ))}
    </div>
  );
}

export default App;