From 3cff0821a8989afca1effb5420d8d0d55d513dbf Mon Sep 17 00:00:00 2001 From: eug-vs Date: Sun, 14 Jun 2020 15:35:04 +0300 Subject: fix: fetch user correctly --- src/Form/SignInForm.tsx | 21 +++++++-------------- src/index.tsx | 12 +++++++++++- 2 files changed, 18 insertions(+), 15 deletions(-) diff --git a/src/Form/SignInForm.tsx b/src/Form/SignInForm.tsx index 40352fe..efe85ed 100644 --- a/src/Form/SignInForm.tsx +++ b/src/Form/SignInForm.tsx @@ -26,24 +26,17 @@ const SignInForm: React.FC = ({ setUser }) => { const classes = useStyles(); const inputRef = useRef(); - const getUserProfile = name => { - get(`/users?name=${name}`).then(response => { - setUser(response.data[0]); - }); - }; - const onClick = () => { - const value = inputRef.current?.value; - if (value) { - localStorage.setItem('user', value); - getUserProfile(value); + const username = inputRef.current?.value; + if (username) { + get(`/users?name=${username}`).then(response => { + const user = response.data[0]; + setUser(user); + localStorage.setItem('userId', user._id); + }); } }; - if (localStorage.getItem('user') !== null) { - getUserProfile(localStorage.getItem('user')); - } - return (

Sign In

diff --git a/src/index.tsx b/src/index.tsx index 1362544..0855038 100644 --- a/src/index.tsx +++ b/src/index.tsx @@ -1,4 +1,4 @@ -import React, { useState } from 'react'; +import React, { useState, useEffect } from 'react'; import ReactDOM from 'react-dom'; import { createMuiTheme, @@ -15,6 +15,7 @@ import ProfileInfo from './ProfileInfo/ProfileInfo'; import SignInForm from './Form/SignInForm'; import { User } from './types'; +import { get } from './requests'; const theme = createMuiTheme({ palette: { @@ -37,6 +38,15 @@ const App: React.FC = () => { const [user, setUser] = React.useState(); const classes = useStyles(); + useEffect(() => { + const userId = localStorage.getItem('userId'); + if (userId) { + get(`/users/${userId}`).then(response => { + setUser(response.data); + }); + } + }, []); + return ( -- cgit v1.2.3