diff --git a/src/App.js b/src/App.js index 88164e7..3184caa 100644 --- a/src/App.js +++ b/src/App.js @@ -1,43 +1,32 @@ -import React, { useState } from "react"; +import React, { useState, useEffect } from "react"; -import Form from "./Form"; import "./App.css"; -export default () => { - const [todos, setTodos] = useState([]); +const useFetch = url => { + const [data, setData] = useState(null); + const [loading, setLoading] = useState(true); - const toggleComplete = i => - setTodos( - todos.map( - (todo, k) => - k === i - ? { - ...todo, - complete: !todo.complete - } - : todo - ) - ); + // Similar to componentDidMount and componentDidUpdate: + useEffect(async () => { + const response = await fetch(url); + const data = await response.json(); + const [item] = data.results; + setData(item); + setLoading(false); + }, []); + + return { data, loading }; +}; + +export default () => { + const [count, setCount] = useState(0); + const { data, loading } = useFetch("https://api.randomuser.me/"); return ( -