Create UserData.js & Emp.js file write
following code init.
UserData.js
export var userData ={
results:
[{
"gender":
"female",
"name":
{
"title":
"Mrs",
"first":
"Lola",
"last":
"Obrien"
},
"location":
{
"street":
{
"number":
5836,
"name":
"Rectory Lane"
},
"city":
"Inverness",
"state":
"Cornwall",
"country":
"United Kingdom",
"postcode":
"A8 8XT",
"coordinates":
{
"latitude":
"6.1567",
"longitude":
"102.7246"
},
"timezone":
{
"offset":
"+9:00",
"description":
"Tokyo, Seoul, Osaka, Sapporo, Yakutsk"
}
},
"email":
"lola.obrien@example.com",
"login":
{
"uuid":
"aa6e9b62-c732-4947-963c-94eaf7b46cef",
"username":
"silverlion377",
"password":
"clemson",
"salt":
"CmkMqCgy",
"md5":
"306ab007e07b3cf978b587aa0d32d4e7",
"sha1":
"528a2a36f1af754ecd4527fe44d59b36458ab7e3",
"sha256":
"bac99827e558efa75264fda16d7f579f1129b074ee95c6d057dc7430ab65b6b4"
},
"dob":
{
"date":
"1994-03-22T14:00:21.714Z",
"age":
28
},
"registered":
{
"date":
"2013-07-30T16:26:22.869Z",
"age":
9
},
"phone":
"016977 90968",
"cell":
"0794-864-054",
"id":
{
"name":
"NINO",
"value":
"JR 46 06 00 D"
},
"picture":
{
"large":
"https://randomuser.me/api/portraits/women/92.jpg",
"medium":
"https://randomuser.me/api/portraits/med/women/92.jpg",
"thumbnail":
"https://randomuser.me/api/portraits/thumb/women/92.jpg"
},
"nat":
"GB"
},
{
"gender":
"female",
"name":
{
"title":
"Mrs",
"first":
"Frida",
"last":
"Møller"
},
"location":
{
"street":
{
"number":
6875,
"name":
"Mejsevej"
},
"city":
"Branderup J",
"state":
"Syddanmark",
"country":
"Denmark",
"postcode":
22903,
"coordinates":
{
"latitude":
"2.7742",
"longitude":
"79.5760"
},
"timezone":
{
"offset":
"-10:00",
"description":
"Hawaii"
}
},
"email":
"frida.moller@example.com",
"login":
{
"uuid":
"dc1305fb-2dd5-42b6-bbf5-5af5f542ed7f",
"username":
"whiteostrich452",
"password":
"neville",
"salt":
"ubpezdUT",
"md5":
"b9450779c685ef5b8d62f3a4e418bab3",
"sha1":
"19f44bec7538d444be90bb31c4c2b0ca90f56e22",
"sha256":
"4ebd1df4296772e33b1c290bde677b6d48c144af420aa3ff672d6c62a9910c32"
},
"dob":
{
"date":
"1995-02-02T01:55:00.588Z",
"age":
27
},
"registered":
{
"date":
"2011-05-18T18:24:38.738Z",
"age":
11
},
"phone":
"30920279",
"cell":
"44095149",
"id":
{
"name":
"CPR",
"value":
"020295-0777"
},
"picture":
{
"large":
"https://randomuser.me/api/portraits/women/22.jpg",
"medium":
"https://randomuser.me/api/portraits/med/women/22.jpg",
"thumbnail":
"https://randomuser.me/api/portraits/thumb/women/22.jpg"
},
"nat":
"DK"
}],
"info":
{
"seed":
"f340257157c1c25c",
"results":
2,
"page":
1,
"version":
"1.3"
}
};
EMP.js
export var emp = {
results: [
{
gender:
"male",
name: {
title: "Mr",
first: "Jeremy",
last:
"Lawrence",
},
location: {
street: {
number: 2369,
name: "Crockett St",
},
city:
"San Mateo",
state: "Maine",
country: "United States",
postcode: 90842,
coordinates: {
latitude: "84.9481",
longitude: "-164.6132",
},
timezone: {
offset: "+4:00",
description: "Abu Dhabi, Muscat, Baku, Tbilisi",
},
},
email:
"jeremy.lawrence@example.com",
login:
{
uuid:
"78932c5e-c6ea-4fea-973e-9da2b2c3fe18",
username: "bluetiger627",
password: "hounddog",
salt:
"Vz6O83Of",
md5:
"ed9d2d507ed72f4880c8ce79b5f8a92a",
sha1:
"006502125b81fa1cd82fbcbf16c78efa8de64b69",
sha256:
"c2a4f208c9156a42d7664e8d6a9f2f077179381b509eee79275750a4c396d6d4",
},
dob: {
date:
"1989-01-19T11:44:19.498Z",
age:
33,
},
registered: {
date:
"2013-03-11T07:32:42.850Z",
age:
9,
},
phone:
"(717)-299-1541",
cell:
"(671)-779-8846",
id: {
name:
"SSN",
value: "022-29-4928",
},
picture: {
large: "https://randomuser.me/api/portraits/men/18.jpg",
medium: "https://randomuser.me/api/portraits/med/men/18.jpg",
thumbnail:
"https://randomuser.me/api/portraits/thumb/men/18.jpg",
},
nat:
"US",
},
{
gender:
"female",
name: {
title: "Miss",
first: "Iolita",
last:
"Nunes",
},
location: {
street: {
number: 7178,
name: "Rua Quatro",
},
city:
"Teófilo Otoni",
state: "Paraná",
country: "Brazil",
postcode: 50044,
coordinates: {
latitude: "-2.5161",
longitude: "-125.3800",
},
timezone: {
offset: "-3:30",
description: "Newfoundland",
},
},
email:
"iolita.nunes@example.com",
login:
{
uuid:
"9b2bbedc-7a03-444e-bf4e-1f6b44b9e87b",
username: "goldenswan706",
password: "nimitz",
salt:
"STO3yKnu",
md5:
"4f8ca7d5bbaf6e4ad72a1e8f2cd3c142",
sha1:
"56ec11994f363898c7c4fada86d55494a398e74a",
sha256:
"1c639643d63ef4e954f9effdff3db9d89c7ed53ed6b22a5b47412d46aa21fb35",
},
dob: {
date:
"1952-12-20T15:24:59.373Z",
age:
70,
},
registered: {
date:
"2014-11-23T04:27:30.259Z",
age:
8,
},
phone:
"(95) 4892-4517",
cell:
"(85) 3502-5328",
id: {
name:
"",
value: null,
},
picture:
{
large: "https://randomuser.me/api/portraits/women/67.jpg",
medium:
"https://randomuser.me/api/portraits/med/women/67.jpg",
thumbnail:
"https://randomuser.me/api/portraits/thumb/women/67.jpg",
},
nat:
"BR",
},
};
Now Create UserProfile.js write
following code
import React, { Component } from "react";
import { userData } from
"./../../UserData";
import { emp } from "./../../emp";
class UserProfile extends Component {
constructor(props) {
super(props);
this.state = {
info:
userData,
};
}
updateUser
= () => {
this.setState({
info:
userData,
});
};
updateEmployee = () => {
this.setState({
info:
emp,
});
};
render() {
return (
<div
className="container mt-5">
<div className="row">
<p className="lead">
Lorem ipsum dolor sit amet consectetur, adipisicing elit. Odio
excepturi sapiente praesentium, soluta officia consequatur numquam
sed at itaque, repudiandae sint esse aliquid delectus repellat
earum, placeat et! Sit adipisci magnam veritatis obcaecati quis
necessitatibus, eveniet earum aut, quibusdam sequi amet minima harum
nesciunt nihil nisi impedit nobis! Nostrum ad exercitationem rerum
soluta quam tenetur dolor molestias, mollitia explicabo corrupti.
</p>
</div>
<div className="row">
<div className="col-4">
<button className="btn
btn-primary" onClick={this.updateUser}>
User Information
</button>
</div>
<div className="col-4">
<button className="btn btn-success"
onClick={this.updateEmployee}>
Employee Information
</button>
</div>
</div>
<div className="row mt-5">
<div className="col">
<table className="table table-hover">
<thead className="bg-dark text-white">
<tr>
<th>IMAGE</th>
<th>NAME</th>
<th>GENDER</th>
<th>EMAIL</th>
<th>CITY</th>
</tr>
</thead>
<tbody>
{this.state.info.results.map(function
(element) {
return (
<tr>
<td>
<img
src={element.picture.medium}
className="img-fluid"
/>
</td>
<td>
{element.name.first}
{element.name.last}
</td>
<td>{element.gender}</td>
<td>{element.email}</td>
<td>{element.location.city}</td>
</tr>
);
})}
</tbody>
</table>
</div>
</div>
</div>
);
}
}
export default UserProfile;
PostedBy: pankaj_bhakre