Guest User

Untitled

a guest
Feb 18th, 2019
92
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.37 KB | None | 0 0
  1. export default {
  2. search(maxDist) {
  3. const url = `${API_URL}&maxDistance=${maxDist}&minStars=${minStars}&maxResults=${maxRes}`;
  4. console.log(url);
  5. return fetch(url)
  6. .then(response => response.json())
  7. .then(result => {
  8. return result.items;
  9. });
  10. }
  11. };
  12.  
  13. const MAX_DIST_CHANGED = "MAX_DIST_CHANGED";
  14.  
  15. const initialState = {
  16. items: [],
  17. maxDist: "",
  18. minStars: "",
  19. maxRes: ""
  20. };
  21.  
  22. export const actions = {
  23. maxDistChanged(maxDist) {
  24. return {
  25. type: MAX_DIST_CHANGED,
  26. maxDist
  27. };
  28. getItems(maxDist) {
  29. return {
  30. type: "ITEMS",
  31. payload: API.search(maxDist)
  32. };
  33. }
  34. };
  35.  
  36. export function reducer(state = initialState, action) {
  37. switch (action.type) {
  38. case MAX_DIST_CHANGED: {
  39. return {
  40. ...state,
  41. maxDist: action.maxDist
  42. };
  43. }
  44. case "ITEMS_FULFILLED": {
  45. return {
  46. ...state,
  47. loading: false,
  48. items: action.payload
  49. };
  50. }
  51. default:
  52. return state;
  53. }
  54. }
  55.  
  56. handleSubmit = e => {
  57. e.preventDefault();
  58. this.props.onGetItems(
  59. this.props.maxDist
  60. );
  61. };
  62. handleChange = event => this.props.onMaxDistChanged(event.target);
  63.  
  64. function mapDisatchToProps(dispatch) {
  65. return {
  66. onMaxDistChanged(maxDist) {
  67. dispatch(actions.maxDistChanged(maxDist));
  68. }
  69. onGetItems(maxDist) {
  70. dispatch(actions.getItems(maxDist));
  71. }
  72. };
  73. }
Add Comment
Please, Sign In to add comment