-
Notifications
You must be signed in to change notification settings - Fork 0
/
HomeController.jsx
47 lines (37 loc) · 1.2 KB
/
HomeController.jsx
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
import React, { Component, lazy, Suspense } from 'react';
// - Components
import Button from '../Common/Button';
import Loader from '../Common/Loader';
// - Assets
import logo from '../../assets/images/react_logo.png';
// - Lazy loaded components
const Home = lazy(() => import('./Home'));
class HomeController extends Component {
state = {
showHome: false,
};
handleClick = () => {
const { showHome } = this.state;
const newShow = !showHome;
this.setState({
showHome: newShow,
});
};
render() {
const { showHome } = this.state;
return (
<React.Fragment>
<Button display-if={!showHome} onClick={this.handleClick} text="Show Home Page" />
<Suspense fallback={<Loader />}>
<Home
display-if={showHome}
title="Home Page Title"
paragraph="Lorem ipsum dolor sit, amet consectetur adipisicing elit. Molestiae aspernatur quo eaque cupiditate eligendi facere quasi commodi quas maiores, quam doloremque dignissimos asperiores accusantium nihil mollitia laudantium hic assumenda accusamus."
logo={logo}
/>
</Suspense>
</React.Fragment>
);
}
}
export default HomeController;