Serverzijde renderen met Reactjs kan worden bereikt met behulp van het framework voor serverrendering, zoals Express.js.
Hier zijn de stappen om serverzijde rendering (ook wel bekend als SSR) uit te voeren met React en Express.js:
1. Installatie van de benodigde pakketten: U hebt Express.js en verschillende React-bibliotheken nodig. U kunt ze installeren met de volgende commando:
`npm install —save express react react-dom react-router-dom`1. Server opzetten: Maak een nieuw bestand server.js in uw root directory. Dit wordt uw serverbestand dat Express gebruikt.
Een eenvoudige server ziet er ongeveer zo uit: \`\`\`javascript const express = require(“express”); const app = express(); const port = 3000; app.listen(port, () => { console.log(`Server is listening on port ${port}`); }); \`\`\`1. Server-side Rendering: De hoofdreactcomponent moet worden gerenderd tot een string en toegevoegd aan een HTML-pagina. Dit kan worden gedaan met behulp van `renderToString()` funktion van de `react-dom/server` module.
Voeg deze code toe aan uw server: \`\`\`javascript const { renderToString } = require(“react-dom/server”); const ReactApp = require(“./pathToYourReactApp”); app.get(“/”, (req, res) => { const app = renderToString(1. React voor serverzijde: U moet een statische methode toevoegen, `getInitialProps()` aan uw hoofdcomponent van de reactie. Deze methode moet een object retourneren dat wordt doorgegeven als `props` aan uw component.
\`\`\`javascript static async getInitialProps({ req, res, match, history, location, …ctx }) { return { whatever: ‘stuff’ }; } \`\`\`1. React Router voor serverzijde: Gebruik `StaticRouter` in plaats van `BrowserRouter` in uw toepassing:
\`\`\`javascript import { StaticRouter } from “react-router-dom”;Om samen te vatten, server-side rendering met React gaat over het renderen van de hoofd react component aan de serverzijde vóór het versturen naar de client. De server stuurt dan de reeds gerenderde pagina naar de client waardoor de laadtijd vermindert en het gemakkelijker wordt voor webcrawlers om uw website te indexeren. Dit laatste verbetert de SEO van uw website.