Skip to content

Setup a React Project

kitiya edited this page Feb 12, 2020 · 34 revisions

Create a React App

$ npx create-react-app react-29

or using dot if inside a project folder

$ npx create-react-app .

File setup

  • Delete all files but index.js in the src folder

Update index.js file

import React from "react";
import ReactDOM from "react-dom";

const App = () => <div>Hello World</div>;

ReactDOM.render(<App />, document.getElementById("root"));

Update index.html file

<header
  <!-- CSS Bootstrap -->
  
  <!-- Google fonts -->
  <link
    href="https://fonts.googleapis.com/css?family=Lato:300,400|Montserrat:400,500&display=swap"
    rel="stylesheet"
  />

  <!-- css file -->
  <link rel="stylesheet" type="text/css" href="/css/styles.css" />
</head>

<body>
  <!-- JS Bootstrap -->
  
</body>

Installing Dependencies

React Router

$ npm install --save react-router-dom

Redux

$ npm install --save redux

axios

$ npm install --save axios

React Reveal

React Reveal is an animation framework for React. It's MIT licensed, has a tiny footprint and written specifically for React in ES6. It can be used to create various cool reveal on scroll animations in your application. If you liked this package, don't forget to star the Github repository.

$ npm i react-reveal --save

Code Example

import Zoom from 'react-reveal/Zoom';

<Zoom>
  <p>Markup that will be revealed on scroll</p>
</Zoom>

You should see zooming animation that reveals text inside the tag. If you place this code further down the page you'll see that it'd appear as you scroll down.

React Slick

React slick is a carousel component built with React. It is a react port of slick carousel.

$ npm install react-slick --save

Install slick-carousel for css and font

$ npm install slick-carousel --save

Include CSS in your project

import "~slick-carousel/slick/slick.css"; 
import "~slick-carousel/slick/slick-theme.css";

Note: Be aware slick-carousel has a peer-dependancy on jQuery which you, or your colleagues may not like to see in your console output, so you can always grab the CSS from there and convert it into any CSS in JS solution that you might be using.

React Transition Group

React Transition Group exposes simple components useful for defining entering and exiting transitions. React Transition Group is not an animation library like React-Motion, it does not animate styles by itself. Instead, it exposes transition stages, manages classes and group elements and manipulates the DOM in useful ways, making the implementation of actual visual transitions much easier.

$ npm install react-transition-group --save

To run a client in an alternate port

Update the package.json file

  "scripts": {
    "start": "PORT=3003 react-scripts start",
    "build": "react-scripts build",
    "test": "react-scripts test",
    "eject": "react-scripts eject"
  },

JSON Server

Installing the JSON server

$ npm install -g json-server

To start the JSON server on an alternate port

$ json-server --watch db.json --port 3004

Clone this wiki locally