Module 6 - React Routers
Module 6 - React Routers
import 'bootstrap/dist/css/bootstrap.min.css';
render() {
return (
<BrowserRouter>
<div className="card">
<JLCHeader />
<br/>
<JLCBody/>
<br/><br/><br/>
<JLCFooter/>
</div>
</BrowserRouter>
);
}
}
return (
<div>
<h3> Welcome to CourseCube!!! </h3>
<ul className="nav justify-content-end">
<li className="nav-item">
<h4> <a className="nav-link" href="/">Home</a> </h4>
</li>
<li className="nav-item">
<h4> <a className="nav-link" href="/courses">Courses</a></h4>
</li>
<li className="nav-item">
<h4> <a className="nav-link" href="/about">About US</a></h4>
</li>
<li className="nav-item">
<h4> <a className="nav-link" href="/contact">Contact US</a></h4>
</li>
</ul>
</div>
);
}
6. JLCFooter.js
import React from 'react';
<Route path="/" render={() => <h1> Home page displays -1</h1>} exact />
<Route path="/" render={() => <h1> Home page displays -2</h1>} exact />
5. JLCHeader1.js
import React,{ Component}from 'react';
import {Link} from 'react-router-dom';
6. JLCHeader.js
import React,{ Component}from 'react';
import {NavLink} from 'react-router-dom';
render(){
return (
<div>
<h1> Welcome to CourseCube!!!</h1>
<ul className="nav justify-content-end">
<li className="nav-item">
<li className="nav-item">
<NavLink to="/courses" className="nav-link"
activeClassName="myactive"
7. JLCBody.js
import React,{ Component}from 'react';
import { Route } from "react-router-dom";
import Home from "./Home";
import Courses from "./Courses";
import About from "./About";
import Contact from "./Contact";
11. Contact.js
import React,{ Component}from 'react';
4. App.js
import React,{ Component}from 'react';
import 'bootstrap/dist/css/bootstrap.min.css';
render(){
return (
<BrowserRouter>
<div className="card">
<JLCHeader />
<JLCBody />
</div>
</BrowserRouter>
);
}
}
</li>
<li className="nav-item">
<NavLink to={{pathname: "/courses",hash: "#Hello",search: "?name=JLC",}}
className="nav-link" activeClassName="myactive"
activeStyle={{textDecoration: "underline",fontSize:"1.2em"}}> Courses </NavLink>
</li>
<li className="nav-item">
<NavLink to="/about" className="nav-link"
activeClassName="myactive"> About US </NavLink>
</li>
<li className="nav-item">
<NavLink to="/contact " className="nav-link"
activeClassName="myactive"> Contact Us </NavLink>
</li>
</ul>
</div>
);
} }
export default JLCHeader;
7. Courses.js
import React,{ Component}from 'react';
import CourseList from './CourseList';
8. CourseList.js
import React, { Component } from "react";
import { withRouter, Link } from "react-router-dom";
9. MyCourseInfo.js
import React, { Component } from "react";
import { NavLink } from "react-router-dom";
10. Home.js
import React,{ Component}from 'react';
11. About.js
import React,{ Component}from 'react';
12. Contact.js
import React,{ Component}from 'react';
<div>
<h2> This is Contact page </h2>
<h2> This is Contact page </h2>
<h2> This is Contact page </h2>
<h2> This is Contact page </h2>
</div>
);
}
}
import "bootstrap/dist/css/bootstrap.min.css";
import JLCHeader from "./JLCHeader";
import JLCBody from "./JLCBody";
5. JLCHeader.js
import React from "react";
7. Courses.js
import React, { Component } from "react";
8. Login.js
import React, { Component } from "react";
import "bootstrap/dist/css/bootstrap.min.css";
import MyInputText from "./MyInputText";
console.log(username);
console.log(password);
render() {
const { username, password } = this.state;
return (
<div className="card-body container col-md-6">
<h3 className="text-center"> Login Form </h3>
<form onSubmit={this.onSubmitHandler}>
<MyInputText
myname="username"
mylabel="Username"
myvalue={username}
myOnChange={this.onChangeHandler} />
<MyInputText
mytype="password"
myname="password"
mylabel="Password"
myvalue={password}
myOnChange={this.onChangeHandler} />
const MyInputText = ({
mylabel,
mytype,
myname,
myvalue,
myplaceholder,
myOnChange,
}) => {
return (
<div className="form-group">
<h3>
<label> {mylabel} </label>
</h3>
<input
type={mytype}
name={myname}
className="form-control form-control-lg"
placeholder={myplaceholder}
value={myvalue}
onChange={myOnChange}
/>
</div>
);
};
MyInputText.propTypes = {
mylabel: propTypes.string.isRequired,
myname: propTypes.string.isRequired,
myvalue: propTypes.string.isRequired,
myOnChange: propTypes.func.isRequired,
};
MyInputText.defaultProps = {
mytype: "text",
myplaceholder: "",
};
export default MyInputText;