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 ( ); } } export default compose(userEnhancer, updateUserEnhancer)(EditUser); export { EditUser };