Javascript 如果值设置为this.state.value,则React引导窗体仅允许我键入?
我是第一次使用react引导,并尝试使用这里讨论的表单组件 当前在我的组件中,我的代码如下所示:Javascript 如果值设置为this.state.value,则React引导窗体仅允许我键入?,javascript,twitter-bootstrap,reactjs,react-bootstrap,Javascript,Twitter Bootstrap,Reactjs,React Bootstrap,我是第一次使用react引导,并尝试使用这里讨论的表单组件 当前在我的组件中,我的代码如下所示: <form> <FormGroup controlId="formEmail" > <ControlLabel>Email</ControlLabel> <FormControl type="text" value={this.s
<form>
<FormGroup controlId="formEmail" >
<ControlLabel>Email</ControlLabel>
<FormControl
type="text"
value={this.state.loginInput.email}
placeholder="Email"
/>
</FormGroup>
<FormGroup controlId="formPassword" >
<ControlLabel>Password</ControlLabel>
<FormControl
type="text"
value={this.state.loginInput.password}
placeholder="Password"
/>
</FormGroup>
</form>
react bootstrap不允许我在那里使用自己的值有什么原因吗?解决方案似乎是
FormControl
要求我在更改时使用功能,否则输入字段是只读的?这似乎是一种奇怪的行为,但仅仅是将表单更改为定义了onChange事件,就允许表单按预期工作
<FormGroup controlId="formPassword" >
<ControlLabel>Password</ControlLabel>
<FormControl
type="text"
value={this.state.loginInput.password}
placeholder="Password"
onChange={this.handleChange}
/>
</FormGroup>
密码
我猜您最初问题中的期望是双向绑定,而React则不是。是的,这正是我所假设的。谢谢您指出这一点。我其实没有意识到这一点,但现在回想一下这是怎么回事,我现在明白了。
<FormGroup controlId="formPassword" >
<ControlLabel>Password</ControlLabel>
<FormControl
type="text"
value={this.state.loginInput.password}
placeholder="Password"
onChange={this.handleChange}
/>
</FormGroup>