Advertisement
eogenio777

Tag component

Apr 22nd, 2021
1,053
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. import React, { useState, useEffect } from 'react';
  2. import './Content.module.css';
  3. import { useLanguage } from '../../context/LanguageTranslator';
  4. import { getLanguage } from '../../utils/getLanguage';
  5.  
  6. const initialState = {
  7.     result: {
  8.         url: '',
  9.         id: '',
  10.         name: '',
  11.     }
  12. };
  13.  
  14. const Tag = (props) => {
  15.     const { language } = useLanguage();
  16.     const currentLanguage = getLanguage(language);
  17.  
  18.     const [state, setState] = useState(initialState);
  19.     const [loading, setLoading] = useState(false);
  20.  
  21.     useEffect(async () => {
  22.         try {
  23.             setLoading(true);
  24.             const langUrl = currentLanguage.urlName;
  25.             // const url = props.match.params.tagUrl;
  26.             const id = props.tagId;
  27.             const res = await fetch(
  28.                 `http://localhost:8000/${langUrl}/api/tags/${id}`
  29.             );
  30.             const result = await res.json();
  31.  
  32.             setState((prevState) => ({ ...prevState, result }));
  33.             setLoading(false);
  34.         } catch (error) {
  35.             setLoading(false);
  36.             console.log(error);
  37.         }
  38.     }, [currentLanguage.urlName]);
  39.  
  40.     const renderTag = () => {
  41.         console.log(state);
  42.         return <span>{state.result.name}</span>;
  43.     };
  44.  
  45.     return (
  46.         <main>
  47.             <div>{renderTag()}</div>
  48.         </main>
  49.     );
  50. };
  51.  
  52. export default Tag;
  53.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement