Home >Web Front-end >JS Tutorial >Creating a Simple Full-Stack Application with React and Node.js
In my previous blogs, I introduced React and Node.js. Now, let's bring them together to build something even more exciting: a simple full-stack application! You might think full-stack apps are only for larger projects, with multiple databases and complex structures. While conceptually that's true, practically, full-stack applications can be as simple as a small frontend with a basic backend. So, let’s break it down and see how easy it is to create a full-stack app with React and Node.js.
Let's start by creating the backend. We’ll use Express as our server to send a simple JSON message response to the frontend.
npm install express
const express = require('express'); const app = express(); const PORT = 3000; app.get('/greet', (req, res) => { res.status(200).json({ message: "Zee here..." }); }); app.listen(PORT, () => console.log(`Server is running at http://localhost:${PORT}`));
Explanation:
Now, let’s create the frontend using React. We'll use two hooks: useState and useEffect to fetch data from the backend.
npx create-react-app my-fullstack-app cd my-fullstack-app
import { useState, useEffect } from 'react'; export function App() { const [response, setResponse] = useState(null); useEffect(() => { const controller = new AbortController(); // This is used to abort the fetch request if the component is unmounted const fetchData = async () => { try { const response = await fetch('http://localhost:3000/greet', { signal: controller.signal, }); if (!response.ok) throw new Error("Couldn't fetch data"); const data = await response.json(); setResponse(data.message); // Corrected the response property here } catch (error) { console.error(error); } }; fetchData(); // Clean up function to abort the fetch request if needed return () => controller.abort(); }, []); return ( <div> {response ? <p>{response}</p> : <p>Loading...</p>} </div> ); }
Explanation:
npm install express
const express = require('express'); const app = express(); const PORT = 3000; app.get('/greet', (req, res) => { res.status(200).json({ message: "Zee here..." }); }); app.listen(PORT, () => console.log(`Server is running at http://localhost:${PORT}`));
Now, open your browser and go to http://localhost:3000. You should see a simple message fetched from the backend, and it will display "Zee here...".
And that's it! You've just created a simple full-stack application using React and Express. It's a great start, and with this foundation, you can expand and build more complex applications. Happy coding!
The above is the detailed content of Creating a Simple Full-Stack Application with React and Node.js. For more information, please follow other related articles on the PHP Chinese website!