Guest User

Untitled

a guest
Feb 16th, 2019
85
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.79 KB | None | 0 0
  1. import React, { useMemo, useState } from "react";
  2. import CachedSearch from "./CachedSearch";
  3. import { search } from "./dummyApi";
  4. import ResultsTable from "./ResultsTable";
  5. import CacheInfo from "./CacheInfo";
  6. export default () => {
  7. const [query, setQuery] = useState("");
  8. const [results, setResults] = useState([]);
  9.  
  10. const cachedSearch = useMemo(() => new CachedSearch(search, setResults), []);
  11. const handleQueryChange = query => {
  12. setQuery(query);
  13. cachedSearch.changeQuery(query);
  14. };
  15. return (
  16. <div>
  17. <h3>Hooks Based Search (good)</h3>
  18. <form>
  19. <label>Search:</label>
  20. <input onChange={({ target: { value } }) => handleQueryChange(value)} />
  21. </form>
  22. <ResultsTable results={results} />
  23. <CacheInfo cacheObject={cachedSearch} />
  24. </div>
  25. );
  26. };
Add Comment
Please, Sign In to add comment