我是否应该为输入字段使用受控制的React组件(安全性明智)?

时间:2017-08-10 08:20:22

标签: javascript reactjs

我为密码输入字段制作了一个React控制的组件:

onPasswordChange(ev) {
  this.setState({
    passoword: ev.target.value
  });
}

<input
  value={this.state.password}
  onChange={this.onPasswordChange}
>

如下图所示,如果组件被控制,我可以看到密码值,如果我去检查元素。我的问题是:这是控制密码输入的正确方法吗? (安全明智)。

enter image description here

我知道我可以在输入字段上使用ref = {},但我想知道处理密码字段的最佳做法。

1 个答案:

答案 0 :(得分:3)

这是一个有趣的问题,但我认为这不是一个真正的问题。据我所知,如果您可以使用document.getElementById('passwordInputId').value访问检查器,我认为您始终可以访问输入字段的值。设置密码类型,以便您身后的人无法看到您正在撰写的内容。 This is a good example of what I'm talking about

所以你应该将受控组件与状态一起使用,因为它是React建议的方式,对avoid refs更好。