Tekkaman

导航

 

react input的几个坑

1、input标签中设置value后,input进入controlled模式,valuechange由自动变为手动,导致input无法编辑。如:

  <input value="xxx"/> // 导致无法编辑

 解法:使用代码来对input.value赋值即可。如 this.nameInput.value="xxx"

2、defaultValue只在第一次绘制时会启用。这意味着,如果首次绘制为"",而后面绘制为"value",则defalutValue始终为""。如:

  <input defalutValue={this.props.name}> 

  如果第一次this.props.name为"",第二次及以后为“value”,则input始终显示""。

 

  鉴于以上两个巨坑,使用input时,不要通过jsx来操作input的value、defaultValue属性。通过代码直接对.value进行控制即为最佳实践。

posted on 2017-07-26 02:36  Tekkaman  阅读(804)  评论(0编辑  收藏  举报