Today going make a preview list of users.
After creating a new project
import logo from './logo.svg';
import './App.css';
function App() {
return (
<div className="App">
<header className="App-header">
<img src={logo} className="App-logo" alt="logo" />
<p>
Edit <code>src/App.js</code> and save to reload.
</p>
<a
className="App-link"
href="https://reactjs.org"
target="_blank"
rel="noopener noreferrer"
>
Learn React
</a>
</header>
</div>
);
}
export default App;JavaScript
JavaScriptWe need to remove everything inside of return function.
And replacing import ‘./App.css’ to import ‘./main.css’ and removing import logo line completely, we going create a new custom style. we aren’t going need that logo.
import './main.css';
function App() {
return (
);
}
export default App;
JavaScriptNew we going to create a new function for the title for the page, using title as key to store value when calling the function and new it’s creates a header with title prop
import './main.css';
function Header({title}){
return (
<header>
{title}
</header>
)
}
function App() {
return (
<div>
<Header title="List of Users" />
</div>
);
}
export default App;
JavaScript
Now in our created main.css we going added some code to it, we going use
@import url('https://fonts.googleapis.com/css2?family=DM+Sans:ital,opsz,wght@0,9..40,100..1000;1,9..40,100..1000&family=Lora:ital,wght@0,400..700;1,400..700&display=swap');
* {
margin: 0;
padding: 0;
}
body {
background-color: #333;
color: #ffffff;
font-weight: 300;
font-family: "Lora", serif;
}
CSS
import './main.css';
function Header({title}){
return (
<header>
{title}
</header>
)
}
function Users() {
let UsersList = [
{
id: 1,
firstname: 'Bob',
lastname: 'Marley',
bio: 'Bob Marley like\'s PHP.',
age: 40,
isHappy: true
},
{
id: 2,
firstname: 'John',
lastname: 'Doe',
bio: 'John Doe like\'s JS.',
age: 22,
isHappy: false
}
];
return(
<div>
{UsersList.map((user) => (
<div>
<h3>{user.firstname} {user.lastname}: {user.age}</h3>
<p>{user.bio}</p>
<b>{user.isHappy ? 'Happy : D' : 'Not happy'}</b>
</div>
))}
</div>
)
}
function App() {
return (
<div>
<Header title="List of Users" />
<Users />
</div>
);
}
export default App;
JavaScript
Let’s make our separate our functions to a different files
let’s create a folder called components we going store reusable functions, all and inside the that folder create files Called Users.js and Header.js
import './main.css';
import Users from './components/Users'
import Header from './components/Header'
function App() {
return (
<div>
<Header title="List of Users"/>
<main>
<Users />
</main>
</div>
);
}
export default App;
JavaScriptfunction Header({title}){
return (
<header>
{title}
</header>
)
}
export default Header;
JavaScriptfunction Users() {
let UsersList = [
{
id: 1,
firstname: 'Bob',
lastname: 'Marley',
bio: 'Bob Marley like\'s PHP.',
age: 40,
isHappy: true
},
{
id: 2,
firstname: 'John',
lastname: 'Doe',
bio: 'John Doe like\'s JS.',
age: 22,
isHappy: false
}
];
return(
<div>
{UsersList.map((user) => (
<div>
<h3>{user.firstname} {user.lastname}: {user.age}</h3>
<p>{user.bio}</p>
<b>{user.isHappy ? 'Happy : D' : 'Not happy'}</b>
</div>
))}
</div>
)
}
export default Users;
JavaScriptWe going edit the css file once again now we could edit the Users list
@import url('https://fonts.googleapis.com/css2?family=DM+Sans:ital,opsz,wght@0,9..40,100..1000;1,9..40,100..1000&family=Lora:ital,wght@0,400..700;1,400..700&display=swap');
* {
margin: 0;
padding: 0;
}
body {
background-color: #333;
color: #ffffff;
font-weight: 300;
font-family: "Lora", serif;
}
.TitleHeader {
background-color: #222;
padding: 25px 100px;
font-weight: 600;
font-family: "Lora", serif;
}
main {
margin: 50px 100px;
width: 50%;
float: left;
}
.UserRow {
margin-bottom: 50px;
background-color: blueviolet;
padding: 20px;
}
CSSAdding className on div in Users.js
function Users() {
let UsersList = [
{
id: 1,
firstname: 'Bob',
lastname: 'Marley',
bio: 'Bob Marley like\'s PHP.',
age: 40,
isHappy: true
},
{
id: 2,
firstname: 'John',
lastname: 'Doe',
bio: 'John Doe like\'s JS.',
age: 22,
isHappy: false
}
];
return(
<div>
{UsersList.map((user) => (
<div className="UserRow">
<h3>{user.firstname} {user.lastname}: {user.age}</h3>
<p>{user.bio}</p>
<b>{user.isHappy ? 'Happy : D' : 'Not happy'}</b>
</div>
))}
</div>
)
}
export default Users;
JavaScriptfunction Header({title}){
return (
<header className="TitleHeader">
{title}
</header>
)
}
export default Header;
JavaScriptHere our page
