Advertisement
Guest User

Untitled

a guest
Oct 16th, 2019
119
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.83 KB | None | 0 0
  1. import React, { useEffect } from 'react';
  2. import logo from './logo.svg';
  3. import { useSelector, useDispatch } from 'react-redux';
  4. import { fetchCat } from './ducks/cat/actions';
  5. import { getCatUrl, getCatLoading } from './ducks/cat/selectors';
  6.  
  7. const App = () => {
  8. const loading = useSelector(getCatLoading);
  9. const src = useSelector(getCatUrl);
  10.  
  11. const dispatch = useDispatch();
  12. const requestCat = () => dispatch(fetchCat());
  13.  
  14. useEffect(() => {
  15. if (!src) {
  16. requestCat();
  17. }
  18. }, [requestCat, src]);
  19.  
  20. return (
  21. <div className="App">
  22. <header className="App-header">
  23. <img src={src} className="App-logo" alt="logo" />
  24. <p>
  25. {loading ? 'Loading cat...' : 'Cat loaded'}
  26. </p>
  27. <button onClick={requestCat}>Load Cat</button>
  28. </header>
  29. </div>
  30. );
  31. }
  32.  
  33. export default App;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement