Skip to content
Snippets Groups Projects
Commit dca99cd9 authored by Rafael László's avatar Rafael László 💬
Browse files

add User context

parent 7faf20db
No related branches found
No related tags found
2 merge requests!7update master to dev,!4Feature/profile
import React from 'react';
import React, { useEffect, useState } from 'react';
import { BrowserRouter as Router } from 'react-router-dom';
import styled from 'styled-components';
import Footer from './components/Footer';
import Header from './components/Header';
import MainRouting from './components/MainRouting';
import UserContext from './components/UserContext';
const Container = styled.div`
height: 100%;
......@@ -17,16 +18,30 @@ const MainContent = styled.div`
`;
function App() {
const [user, setUser] = useState({ loggedIn: false, name: '' });
useEffect(() => {
fetch('/api/v1/users/me')
.then((response) => response.json())
.then((profile) => {
if (profile.loggedIn) {
setUser({ loggedIn: true, name: profile.name });
}
});
}, []);
return (
<Router>
<Container>
<Header />
<MainContent>
<MainRouting />
</MainContent>
<Footer />
</Container>
</Router>
<UserContext.Provider value={user}>
<Router>
<Container>
<Header />
<MainContent>
<MainRouting />
</MainContent>
<Footer />
</Container>
</Router>
</UserContext.Provider>
);
}
......
import React, { useContext } from 'react';
import UserContext from './UserContext';
const ContextTest = () => {
const user = useContext(UserContext);
return <div>{user.loggedIn ? user.name : 'Not logged in!'}</div>;
};
export default ContextTest;
import React from 'react';
import { Route, Switch } from 'react-router';
import ContextTest from './ContextTest';
const Main = () => (
<Switch>
<Route path="/" exact>
Hello
<ContextTest />
</Route>
<Route path="/news">News</Route>
</Switch>
......
import { createContext } from 'react';
const UserContext = createContext({ loggedIn: false, name: '' });
export default UserContext;
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment