From a6af043686e4375d7944e91cae3d5b63c59edab0 Mon Sep 17 00:00:00 2001 From: Wes Bos Date: Thu, 22 Mar 2018 16:29:31 -0400 Subject: Migrate to render props --- frontend/components/DeleteItem.js | 39 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) create mode 100644 frontend/components/DeleteItem.js (limited to 'frontend/components/DeleteItem.js') diff --git a/frontend/components/DeleteItem.js b/frontend/components/DeleteItem.js new file mode 100644 index 0000000..30b2bf7 --- /dev/null +++ b/frontend/components/DeleteItem.js @@ -0,0 +1,39 @@ +import React from 'react'; +import { Mutation } from 'react-apollo'; +import PropTypes from 'prop-types'; +import { REMOVE_ITEM_MUTATION, ALL_ITEMS_QUERY } from '../queries/index'; + +class DeleteItem extends React.Component { + static propTypes = { + id: PropTypes.string.isRequired, + }; + + update = (proxy, payload) => { + const deletedItem = payload.data.deleteItem; + const data = proxy.readQuery({ query: ALL_ITEMS_QUERY }); + // filter this one out + data.items = data.items.filter(item => item.id !== deletedItem.id); + // write the data back to the proxy + proxy.writeQuery({ query: ALL_ITEMS_QUERY, data }); + }; + + render() { + return ( + + {removeItem => ( + + )} + + ); + } +} + +export default DeleteItem; -- cgit v1.3