遇到这样一个问题:
在设置一个input为deaultValue={this.state.value}时,可以获取到getInitialState里面设置的值,并正确显示在页面上。
但是,当我不通过这个input修改this.state.value ,即手动修改state并将value设置为其他值时,再次调用setState(),发现这个input里面的值没有变。
请问这是为什么?但是将deaultValue改为value={this.state.value}时,又不会有这个问题,为什么?
遇到这样一个问题:
在设置一个input为deaultValue={this.state.value}时,可以获取到getInitialState里面设置的值,并正确显示在页面上。
但是,当我不通过这个input修改this.state.value ,即手动修改state并将value设置为其他值时,再次调用setState(),发现这个input里面的值没有变。
请问这是为什么?但是将deaultValue改为value={this.state.value}时,又不会有这个问题,为什么?
4 回答1.6k 阅读
2 回答1.1k 阅读✓ 已解决
2 回答2.6k 阅读
1 回答948 阅读✓ 已解决
1 回答678 阅读✓ 已解决
2 回答839 阅读✓ 已解决
2 回答1k 阅读
defaultValue就是默认值,第一次设置时生效;value就是当前input的值,设置value={this.state.value}就等于input的当前值就是this.state.value。所以设置<input value={this.state.value} {...otherProps}/>就达到了你想要的效果。