import React from 'react'; import { compose } from 'react-apollo'; import PropTypes from 'prop-types'; import Form from './styles/Form'; import { userEnhancer, updateUserEnhancer } from '../enhancers/enhancers'; class EditUser extends React.Component { static propTypes = { currentUser: PropTypes.object.isRequired, updateUser: PropTypes.func.isRequired, }; state = { changes: {}, }; handleChange = e => { const { name, value } = e.target; const { me } = this.props.currentUser; const changes = { ...this.state.changes, [name]: value, }; if (value === me[e.target.name]) { delete changes[name]; } this.setState({ changes }); }; handleSubmit = async e => { e.preventDefault(); await this.props.updateUser({ variables: this.state.changes, }); this.props.currentUser.refetch(); this.setState({ changes: {} }); }; render() { const { me } = this.props.currentUser; if (!me) return

You must be logged in

; return (
me:
{JSON.stringify(me.name)}
Change:
{JSON.stringify(this.state.changes)}
); } } export default compose(userEnhancer, updateUserEnhancer)(EditUser);