Как добавить onClick и onChange ко всем входам в форме в React? - PullRequest
0 голосов
/ 25 марта 2020

У меня есть длинная форма со многими входами, и мне нужно добавить Google Analytics для всех входов. Есть ли лучшая практика для этого? Я не могу использовать циклы, потому что моя форма сложнее, чем просто массив входных данных.

<form>
  <div className={'form-wrapper'}>
    <div className={'input-block'}>
      <Input
        placeholder="User name" name='fullName' value={fullName}
        error={SecondName || FirstName || MiddleName} errorName='FirstName'
        onChange={this.handleInputValueChanged}
        onClick={this.handleClick}
        label={'User name'}
      />
      ...
      <Input
        placeholder="Phone" name='phone' value={phone}
        error={Phone} errorName='Phone'
        onChange={this.handleInputValueChanged}
        onClick={this.handleClick}
        label={'User name'}
      />
    </div>
  </div>
 <div className={'some-other-block'}>
  ...
 </div>
 <div className={'input-block'}>
    <div className={'input-group'}>
      <Input
        customType='numbers' placeholder='Day' label='Day'
        name='day' value={day}
        onChange={this.handleInputValueChanged}
        onClick={this.handleClick}
      />
      ...
    </div>
  <div>
</form>
handleClick = (value, name) => {
  ReactGA.event({
    category : 'new-invest',
    action   : 'click',
    label    : dataGtmLabel[name]
  });
};
...