Reputation: 3717
I've trying to develop very simple application in ReactJS using JSX. I've install react-router-dom
and implemented following code:
App.Js
import React, { Component } from 'react';
import './App.css';
import { Header } from './app/header';
import { Footer } from './app/footer';
import { Menu } from './app/menu';
import { BrowserRouter as Router, Route } from 'react-router-dom';
import { Welcome } from './app/welcome';
import { Employees } from './app/employees';
class App extends Component {
render() {
return (
<div>
<Header></Header>
<Router>
<div>
<Menu></Menu>
<>
<Route exact path="/" Component={Welcome}></Route>
<Route path="/employees" Component={Employees}></Route>
</>
</div>
</Router>
<Footer name="Hardik Gondalia"></Footer>
</div>
)
}
}
export default App;
Index.js
ReactDOM.render(<App />, document.getElementById('root'));
Menu.jsx
import React, { Component } from 'react'
import { Link, BrowserRouter as Router } from 'react-router-dom';
export class Menu extends Component {
render() {
return (
<ul>
<li><Link to="/">Home</Link></li>
<li><Link to="/employees">Employees</Link></li>
<li><Link to="/add">Add Employee</Link></li>
</ul>
)
}
}
Issue is, when I click on links, url are getting change, but I can't see component on a page. Welcome component has <h1>
tag like following which is not visible
<div><h3>Welcome to React Application</h3></div>
Upvotes: 0
Views: 53
Reputation: 1
...
<Route exact path="/" Component={Welcome}></Route>
<Route path="/employees" Component={Employees}></Route>
...
The components mentioned in the Route tag need to be changed to component (small "c"). Component mentioned is meant as the React.Component which we import for creating react components rather than component passed for Route tags.
So,
<Route exact path="/" Component={Welcome}></Route>
Replace to
<Route exact path="/" component={Welcome}></Route>
Upvotes: 1