Skip to content

Instantly share code, notes, and snippets.

View manivelarjunan's full-sized avatar

manivelarjunan

View GitHub Profile
@manivelarjunan
manivelarjunan / App.js
Last active March 17, 2019 20:58
Class based component
import React, { Component } from 'react';
import Person from './Person/Person';
import './App.css';
class App extends Component {
state = {
persons: [
{name:'mani',age:45},
{name:'papi',age:34}
]
@manivelarjunan
manivelarjunan / App.js
Last active March 30, 2019 21:02
Lazy loading component with suspence
import React, { Component, Suspense } from 'react';
import { BrowserRouter, Route, NavLink } from 'react-router-dom';
import Welcome from './containers/Welcome';
import Home from './containers/Home';
//import Details from './containers/Details';
// Above import loads on load and adds dependencies globally. so it should be commented/removed for lazy loading component.
const Details = React.lazy(() => import('./containers/Details'));
// Lazy loading import doesn't allow Named component.
class App extends Component {
@manivelarjunan
manivelarjunan / App.js
Last active March 30, 2019 22:15
Load component dynamically when click on button
import React, { Component, Suspense } from 'react';
import { BrowserRouter, Route, NavLink } from 'react-router-dom';
import Welcome from './containers/Welcome';
import Home from './containers/Home';
//import Details from './containers/Details';
const Details = React.lazy(() => import('./containers/Details'));
class App extends Component {
@manivelarjunan
manivelarjunan / App.js
Last active March 30, 2019 22:11
lazy loading with hoc
import React, { Component} from 'react';
import { BrowserRouter, Route, NavLink } from 'react-router-dom';
import Welcome from './containers/Welcome';
import Home from './containers/Home';
import asyncComponent from './containers/hoc/asyncComponent';
//import Details from './containers/Details';
const AsyncComponent = asyncComponent(() => {
// Pass the component which you want to load dynamically.
@manivelarjunan
manivelarjunan / asyncComponent.js
Last active March 30, 2019 22:04
Higher order component for for lazy loading
import React, {Component} from 'react';
const asyncComponent = (importComponent) => {
return class extends Component {
state = {
component : null
};
componentDidMount() {