From 8cdede8860f05a2648d17fcb412fb3c2ec3966c9 Mon Sep 17 00:00:00 2001 From: Peggy Rayzis Date: Tue, 22 May 2018 12:55:49 -0400 Subject: Rename proxy to cache --- frontend/components/AddToCart.js | 21 +++++++++++++++------ frontend/components/DeleteItem.js | 13 ++++++++----- frontend/components/RemoveFromCart.js | 17 ++++++++++++----- 3 files changed, 35 insertions(+), 16 deletions(-) (limited to 'frontend/components') diff --git a/frontend/components/AddToCart.js b/frontend/components/AddToCart.js index 105f558..c79e644 100644 --- a/frontend/components/AddToCart.js +++ b/frontend/components/AddToCart.js @@ -1,18 +1,23 @@ import { Component } from 'react'; import { Mutation, Query } from 'react-apollo'; import PropTypes from 'prop-types'; -import { ADD_TO_CART_MUTATION, CURRENT_USER_QUERY } from '../queries/queries.graphql'; +import { + ADD_TO_CART_MUTATION, + CURRENT_USER_QUERY, +} from '../queries/queries.graphql'; class AddToCart extends Component { static propTypes = { id: PropTypes.string.isRequired, }; - update = (proxy, payload) => { + update = (cache, payload) => { const newCartItem = payload.data.addToCart; - const data = proxy.readQuery({ query: CURRENT_USER_QUERY }); + const data = cache.readQuery({ query: CURRENT_USER_QUERY }); - const existingIndex = data.me.cart.findIndex(cartItem => cartItem.id === newCartItem.id); + const existingIndex = data.me.cart.findIndex( + cartItem => cartItem.id === newCartItem.id, + ); if (existingIndex >= 0) { // already in cache, just replace it data.me.cart = [ @@ -23,7 +28,7 @@ class AddToCart extends Component { } else { data.me.cart = [...data.me.cart, newCartItem]; } - proxy.writeQuery({ query: CURRENT_USER_QUERY, data }); + cache.writeQuery({ query: CURRENT_USER_QUERY, data }); }; render() { @@ -31,7 +36,11 @@ class AddToCart extends Component { return ( {() => ( - + {(addToCart, { loading }) => ( - )} - + + {(addToCart, { loading }) => ( + )} - + ); } } -- cgit v1.3 From e040b70da6a48b1eb2f2b32132fa9b2244e92780 Mon Sep 17 00:00:00 2001 From: Peggy Rayzis Date: Wed, 23 May 2018 17:51:50 -0400 Subject: Refactor react-adopt to recommended API --- frontend/components/Cart.js | 27 ++++++++++++++++++--------- 1 file changed, 18 insertions(+), 9 deletions(-) (limited to 'frontend/components') diff --git a/frontend/components/Cart.js b/frontend/components/Cart.js index 2230a0e..a815b78 100644 --- a/frontend/components/Cart.js +++ b/frontend/components/Cart.js @@ -17,19 +17,23 @@ import CloseButton from './styles/CloseButton'; import SickButton from './styles/SickButton'; const Composed = adopt({ - toggleCart: {() => {}}, - localState: {() => {}}, - currentUser: ( - - {() => {}} - + toggleCart: ({ render }) => ( + + {(mutate, result) => render({ mutate, result })} + ), + localState: , + currentUser: , }); const Cart = () => ( {({ toggleCart, localState, currentUser }) => { - const { data: { me }, error, loading } = currentUser; + const { + data: { me }, + error, + loading, + } = currentUser; if (loading) return

Loading...

; if (error) return ; if (!me) return null; @@ -42,11 +46,16 @@ const Cart = () => ( {me.name}'s Cart.

- You have {me.cart.length} item{me.cart.length === 1 ? '' : 's'} in your cart. + You have {me.cart.length} item{me.cart.length === 1 ? '' : 's'} in + your cart.

-
    {me.cart.map(cartItem => )}
+
    + {me.cart.map(cartItem => ( + + ))} +