From 408181ae945b8a1ca695e140a81d5e7db2da8343 Mon Sep 17 00:00:00 2001 From: Robin Wieruch Date: Thu, 19 Dec 2019 14:45:21 +0100 Subject: [PATCH] hs/React-Asynchronous-Data --- src/App.js | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/src/App.js b/src/App.js index 335ca7d75..025a3045f 100644 --- a/src/App.js +++ b/src/App.js @@ -19,6 +19,14 @@ const initialStories = [ }, ]; +const getAsyncStories = () => + new Promise(resolve => + setTimeout( + () => resolve({ data: { stories: initialStories } }), + 2000 + ) + ); + const useSemiPersistentState = (key, initialState) => { const [value, setValue] = React.useState( localStorage.getItem(key) || initialState @@ -37,7 +45,13 @@ const App = () => { 'React' ); - const [stories, setStories] = React.useState(initialStories); + const [stories, setStories] = React.useState([]); + + React.useEffect(() => { + getAsyncStories().then(result => { + setStories(result.data.stories); + }); + }, []); const handleRemoveStory = item => { const newStories = stories.filter(