Компонент не перерисовывается при изменении состояния уровня компонента при использовании redux-формы - PullRequest
0 голосов
/ 25 февраля 2019

Существуют ли способы повторного рендеринга компонента при изменении состояния уровня компонента при использовании избыточной формы?

Я отображаю ввод с помощью пользовательского интерфейса материала для отправки пароля, завернутого в избыточныйФорма Field компонент.Я хотел бы использовать состояние уровня компонента, чтобы контролировать, может ли клиент видеть свой пароль, а не передавать его в мое хранилище.Клиент может обновить состояние уровня компонента onClick в пользовательском интерфейсе материала IconButton и, таким образом, вызвать this.handleClickShowPassword.

. Независимо от того, является ли пароль видимым, контролируется моим полем type в Input component.

   <FormControl className={classNames(classes.textField)}>
    <InputLabel htmlFor="adornment-password">Password</InputLabel>
    <Input
      id="adornment-password"
      type={this.state.showPassword ? 'text' : 'password'}
      {...input}
      endAdornment={
        <InputAdornment position="end">
          <IconButton
            aria-label="Toggle password visibility"
            onClick={this.handleClickShowPassword}
          >
            {this.state.showPassword ? <Visibility /> : <VisibilityOff />}
          </IconButton>
        </InputAdornment>
      }
    />
  </FormControl>

с

  handleClickShowPassword = () => {
    this.setState(state => ({ showPassword: !state.showPassword }));
    // this.forceUpdate(); this didn't work either
  }

FormControl живет в более крупной функции, называемой renderPasswordInput в форме-избыточе Field, например:

<Field name="password" component={this.renderPasswordInput} label="Password" />

Мой компонент не выполняет повторный рендеринг (в этом случае изменяется, отображается ли пароль), если я не изменяю значение на входе, т. Е. До тех пор, пока redux-форма не отправляет и не обновляет состояние, которым оно управляет.Существуют ли способы повторного рендеринга компонента при изменении состояния уровня компонента при использовании redux-формы?

...