From 0a1648bf47490b312169c531aeb51ef4725e8d2e Mon Sep 17 00:00:00 2001 From: Wes Bos Date: Tue, 30 Jan 2018 12:39:31 -0500 Subject: Saying goodbye to graphcool --- components/UpdateItem.js | 64 +++++++++++++++++++++++------------------------- 1 file changed, 30 insertions(+), 34 deletions(-) (limited to 'components/UpdateItem.js') diff --git a/components/UpdateItem.js b/components/UpdateItem.js index a3b45a8..27be90f 100644 --- a/components/UpdateItem.js +++ b/components/UpdateItem.js @@ -1,35 +1,51 @@ -import React, { Component } from 'react' -import { graphql, gql, compose } from 'react-apollo' +import React, { Component } from 'react'; +import { graphql, gql, compose } from 'react-apollo'; import { SINGLE_ITEM_QUERY, UPDATE_LINK_MUTATION } from '../queries'; class UpdateLink extends Component { - state = { ...this.props.findItem.Item, - } + }; - saveToState = (e) => { + saveToState = e => { let { name, value, type } = e.target; if (type === 'number') { value = parseInt(value); } this.setState({ [name]: value }); - } + }; + + _createLink = async e => { + e.preventDefault(); + // pull the values from state + const { description, title } = this.state; + const { id } = this.props; + // create a mutation + // TODO: handle any errors + // turn loading on + this.setState({ loading: true }); + console.log(this.state); + const res = await this.props.updateItem({ + // pass in those variables from state + variables: { + ...this.state, + }, + }); + this.setState({ loading: false }); + }; render() { return (
-

Edit {this.props.id}

- { this.state.loading ? 'LOADING...' : 'Ready!' } + {this.state.loading ? 'LOADING...' : 'Ready!'}
- - + - +