render () {
    this.errorAlert.checkError(this.props.profile.form.error)

    let self = this

    let ProfileForm = t.struct({
      username: t.String,
      email: t.String
    })
    /**
     * Set up the field definitions.  If we're fetching, the fields
     * are disabled.
     */
    let options = {
      auto: 'placeholders',
      fields: {
        username: {
          label: I18n.t('Profile.username'),
          maxLength: 12,
          editable: !this.props.profile.form.isFetching,
          hasError: this.props.profile.form.fields.usernameHasError,
          error: this.props.profile.form.fields.usernameErrorMsg
        },
        email: {
          label: I18n.t('Profile.email'),
          keyboardType: 'email-address',
          editable: !this.props.profile.form.isFetching,
          hasError: this.props.profile.form.fields.emailHasError,
          error: this.props.profile.form.fields.emailErrorMsg
        }
      }
    }

    /**
     * When the button is pressed, send the users info including the
     * ```currrentUser``` object as it contains the sessionToken and
     * user objectId
     */
    let profileButtonText = I18n.t('Profile.update')
    let onButtonPress = () => {
      this.props.actions.updateProfile(
        this.props.profile.form.originalProfile.objectId,
        this.props.profile.form.fields.username,
        this.props.profile.form.fields.email,
        this.props.global.currentUser)
    }
    /**
     * Wrap the form with the header and button.  The header props are
     * mostly for support of Hot reloading. See the docs for Header
     * for more info.
     */
    let verfiedText = I18n.t('Profile.verified') +
                       ' (' +
                       I18n.t('Profile.display') +
                       ')'
    return (
      <View style={styles.container}>
        <Header isFetching={this.props.profile.form.isFetching}
          showState={this.props.global.showState}
          currentState={this.props.global.currentState}
          onGetState={this.props.actions.getState}
          onSetState={this.props.actions.setState}
        />
        <View style={styles.inputs}>
          <Form
            ref='form'
            type={ProfileForm}
            options={options}
            value={this.state.formValues}
            onChange={this.onChange.bind(self)}
          />
          <ItemCheckbox text={verfiedText}
            disabled
            checked={this.props.profile.form.fields.emailVerified} />
        </View>

        <FormButton
          isDisabled={!this.props.profile.form.isValid || this.props.profile.form.isFetching}
          onPress={onButtonPress.bind(self)}
          buttonText={profileButtonText} />

      </View>
    )
  }
### render
display the form wrapped with the header and button