diff --git a/src/Comparator/FiltersContainer/Filters.js b/src/Comparator/FiltersContainer/Filters.js index cdb12b9..ca21545 100644 --- a/src/Comparator/FiltersContainer/Filters.js +++ b/src/Comparator/FiltersContainer/Filters.js @@ -29,15 +29,19 @@ export const Filters = props => { const { selectedWorld, setSelectedWorld, worlds, setWorlds } = useComparator() useEffect(() => { - async function fetchData () { - await fetch('https://api.tibiadata.com/v2/worlds.json') + const abortController = new AbortController() + + async function fetchData (_abortController) { + await fetch('https://api.tibiadata.com/v2/worlds.json', { signal: _abortController.signal }) .then(response => response.json()) .then(data => { setWorlds(data?.worlds?.allworlds) }) } - fetchData() + fetchData(abortController) + + return () => abortController.abort() // eslint-disable-next-line }, []) diff --git a/src/Comparator/Search/Search.js b/src/Comparator/Search/Search.js index 9e1fe15..56da77e 100644 --- a/src/Comparator/Search/Search.js +++ b/src/Comparator/Search/Search.js @@ -39,15 +39,18 @@ export const Search = () => { const [housesData, setHousesData] = useState([]) useEffect(() => { - async function fetchData () { - await fetch(`${housesEndpoint}${selectedWorld}.json`) + const abortController = new AbortController() + async function fetchData (_abortController) { + await fetch(`${housesEndpoint}${selectedWorld}.json`, { signal: _abortController.signal }) .then(response => response.json()) .then(data => { setHousesData(data.houses) }) } + + fetchData(abortController) - fetchData() + return () => abortController.abort() }, [selectedWorld]) useEffect(() => {