Advertisement
Guest User

Untitled

a guest
Jun 27th, 2019
89
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. import React, { Component } from "react";
  2. import { NavLink } from "react-router-dom";
  3.  
  4. class Community extends Component {
  5.  
  6.   componentDidMount() {
  7.     fetch("https://jsonplaceholder.typicode.com/users")
  8.       .then(response => {
  9.         if (response.status === 200) {
  10.           return response.json();
  11.         } else {
  12.           throw new Error("Something went wrong ..." + response.statusText);
  13.         }
  14.       })
  15.       .then(data => this.setState({ isLoading: true, data: data }))
  16.       .catch(error => this.setState({ isLoading: true, error }));
  17.     console.log("DidMount");
  18.   }
  19.  
  20.   render() {
  21.     const { loading, data, error, handleLogout } = this.props;
  22.     if (error) {
  23.       return (
  24.         <div className="wrapper">
  25.           <ul>
  26.             <li>
  27.               <NavLink to="/profile">Profile</NavLink>
  28.             </li>
  29.             <li>
  30.               <NavLink to="/community">Community</NavLink>
  31.             </li>
  32.             <li>
  33.               <NavLink to="/dashboard">Dashboard</NavLink>
  34.             </li>
  35.             <li>
  36.               <NavLink to="/search">Search</NavLink>
  37.             </li>
  38.             <li>
  39.               <NavLink to="/signin" onClick={handleLogout}>
  40.                 Log Out
  41.               </NavLink>
  42.             </li>
  43.           </ul>
  44.           <h1>Community</h1>
  45.           <div>Sorry,something wrong - {error.message}</div>
  46.         </div>
  47.       );
  48.     }
  49.     if (!loading) {
  50.       return (
  51.         <div className="wrapper">
  52.           <ul>
  53.             <li>
  54.               <NavLink to="/profile">Profile</NavLink>
  55.             </li>
  56.             <li>
  57.               <NavLink to="/community">Community</NavLink>
  58.             </li>
  59.             <li>
  60.               <NavLink to="/dashboard">Dashboard</NavLink>
  61.             </li>
  62.             <li>
  63.               <NavLink to="/search">Search</NavLink>
  64.             </li>
  65.             <li>
  66.               <NavLink to="/signin" onClick={handleLogout}>
  67.                 Log Out
  68.               </NavLink>
  69.             </li>
  70.           </ul>
  71.           <h1>Community</h1>
  72.           <div>Loading...</div>
  73.         </div>
  74.       );
  75.     }
  76.     return (
  77.       <div className="wrapper">
  78.         <ul>
  79.           <li>
  80.             <NavLink to="/profile">Profile</NavLink>
  81.           </li>
  82.           <li>
  83.             <NavLink to="/community">Community</NavLink>
  84.           </li>
  85.           <li>
  86.             <NavLink to="/dashboard">Dashboard</NavLink>
  87.           </li>
  88.           <li>
  89.             <NavLink to="/search">Search</NavLink>
  90.           </li>
  91.           <li>
  92.             <NavLink to="/signin" onClick={handleLogout}>
  93.               Log Out
  94.             </NavLink>
  95.           </li>
  96.         </ul>
  97.         <h1>Community</h1>
  98.         <ul>
  99.           {data.map(data => (
  100.             <li key={data.id}>
  101.               <div>
  102.                 <span>Name: {data.name} </span>
  103.                 <span>Email: {data.email} </span>
  104.               </div>
  105.             </li>
  106.           ))}
  107.         </ul>
  108.       </div>
  109.     );
  110.   }
  111. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement