diff options
author | eug-vs <eug-vs@keemail.me> | 2020-08-09 21:17:33 +0300 |
---|---|---|
committer | eug-vs <eug-vs@keemail.me> | 2020-08-09 21:17:33 +0300 |
commit | 359ec6a68ea92b3d1eecf020742157eb3be90b9f (patch) | |
tree | 33c177844a2c7924de8b0872d1558e7a24e5edab /src/pages/FeedPage | |
parent | 992b12d3bab79e749bc25eb5a17981853ff3c216 (diff) | |
download | which-ui-359ec6a68ea92b3d1eecf020742157eb3be90b9f.tar.gz |
feat: add useFeed hook
Diffstat (limited to 'src/pages/FeedPage')
-rw-r--r-- | src/pages/FeedPage/FeedPage.tsx | 18 |
1 files changed, 5 insertions, 13 deletions
diff --git a/src/pages/FeedPage/FeedPage.tsx b/src/pages/FeedPage/FeedPage.tsx index 0b7d44a..8e7fb55 100644 --- a/src/pages/FeedPage/FeedPage.tsx +++ b/src/pages/FeedPage/FeedPage.tsx @@ -1,32 +1,24 @@ -import React, { useState, useEffect } from 'react'; +import React from 'react'; import { Poll } from 'which-types'; import { Container } from '@material-ui/core/'; import Feed from '../../components/Feed/Feed'; -import { get } from '../../requests'; import PollSubmission from './PollSubmission'; import { useAuth } from '../../hooks/useAuth'; +import { useFeed } from '../../hooks/APIClient'; const FeedPage: React.FC = () => { - const [polls, setPolls] = useState<Poll[]>([]); + const { data, mutate } = useFeed(); const { isAuthenticated } = useAuth(); - useEffect(() => { - get('/feed').then(response => { - setPolls(response.data); - }); - }, []); - const addPoll = (poll: Poll): void => { - polls.unshift(poll); - setPolls([]); - setPolls(polls); + mutate([poll, ...data], true); }; return ( <Container maxWidth="sm" disableGutters> {isAuthenticated() && <PollSubmission addPoll={addPoll} />} - <Feed polls={polls} /> + <Feed polls={data} /> </Container> ); }; |