Skip to content

Instantly share code, notes, and snippets.

View ovpv's full-sized avatar
👀
waiting for the right opportunity

Vishnuprasad Venugopal ovpv

👀
waiting for the right opportunity
View GitHub Profile
@ovpv
ovpv / index.js
Created August 7, 2019 09:51
adding react router dom browser router to client side
import React from "react";
import { hydrate } from "react-dom";
import App from "./app";
import { BrowserRouter as Router } from "react-router-dom";
hydrate(
<Router>
<App />
</Router>,
document.getElementById("app")
@ovpv
ovpv / server.js
Last active August 7, 2019 09:39
Routing in server.js
import express from "express";
import React from "react";
import { renderToString } from "react-dom/server";
import { StaticRouter as Router } from "react-router-dom";
import path from "path";
import App from "./client/app";
const app = express();
const port = 3000;
import Routes from "./routes";
@ovpv
ovpv / home.js
Created August 6, 2019 17:14
Home component for react ssr
import React, { Component, Fragment } from "react";
export default class Home extends Component {
render() {
return (
<Fragment>
<p>this is Home</p>
</Fragment>
);
}
@ovpv
ovpv / routes.js
Created August 6, 2019 17:09
Defining routes file for react ssr
import Home from "./client/pages/home/home";
import About from "./client/pages/about/about";
import NotFound from "./client/pages/not-found/not-found";
const Routes = [
{
url: "/",
exact: true,
component: Home
},
@ovpv
ovpv / server.js
Created August 6, 2019 16:19
Serverside rendered react app
import express from "express";
import React from "react";
import { renderToString } from "react-dom/server";
import App from "./client/app";
const app = express();
const port = 3000;
const HTML = (req, context) => {
const body = renderToString(<App />);
@ovpv
ovpv / index.js
Created August 6, 2019 05:31
Rendering app on client side with hydrate method
import React from "react";
import { hydrate } from "react-dom";
import App from "./app";
hydrate(<App />,document.getElementById("app"));
@ovpv
ovpv / app.js
Created August 6, 2019 05:22
App component to be used in common by client and server side
import React, { Component, Fragment } from "react";
export default class App extends Component {
render() {
return (
<Fragment>
<div>Hello World</div>
</Fragment>
);
@ovpv
ovpv / client - index.js
Last active August 6, 2019 05:31
React SSR client index file
import React from "react";
import { hydrate } from "react-dom";
hydrate(
<div>Hello World</div>,
document.getElementById("app")
);
@ovpv
ovpv / package.json
Created August 4, 2019 15:55
React ssr package.json script
"scripts": {
"start": "npm-run-all --parallel watch:build watch:server",
"watch:build": "webpack --watch",
"watch:server": "nodemon \"./server.js\" --watch \"./ \""
},
@ovpv
ovpv / src - server.js
Created August 4, 2019 15:51
react ssr server js hello world file
import express from 'express';
const app = express()
const port = 3000
app.get('/', (req, res) => res.send('Hello World!'))
app.listen(port, () => console.log(`Example app listening on port ${port}!`))