Reactjs 反应+;redux与react引导>;FormControl>;获得价值
我将react+redux与react引导组件一起使用。 我想将FormControl文本元素(email)的值传递给已发送的redux操作,但我不知道如何做Reactjs 反应+;redux与react引导>;FormControl>;获得价值,reactjs,redux,react-bootstrap,form-control,Reactjs,Redux,React Bootstrap,Form Control,我将react+redux与react引导组件一起使用。 我想将FormControl文本元素(email)的值传递给已发送的redux操作,但我不知道如何做 class LoginForm extends React.Component { render() { const email = React.findDOMNode(this.refs.email); return ( <div>
class LoginForm extends React.Component {
render() {
const email = React.findDOMNode(this.refs.email);
return (
<div>
<Form horizontal>
<FormGroup controlId="formHorizontalEmail">
<Col componentClass={ControlLabel}>Email</Col>
<Col><FormControl type="email" ref="email"/></Col>
</FormGroup>
<FormGroup>
<Col>
<Button type="submit" block>Sign in</Button>
</Col>
</FormGroup>
</Form>
<Button onClick={() => this.props.doLogin(email, 'password')}>Login</Button>
</div>
)
}
}
/**
* Connect staff.
*/
const mapStateToProps = (state) => {
return {
...
};
};
const mapDispatchToProps = (dispatch) => {
return {
doLogin: (email, password) => dispatch(performLogin(email, password))
};
};
export default connect(mapStateToProps, mapDispatchToProps)(LoginForm)
类LoginForm扩展了React.Component{
render(){
const email=React.findDOMNode(this.refs.email);
返回(
电子邮件
登录
this.props.doLogin(电子邮件,'password')}>Login
)
}
}
/**
*联系工作人员。
*/
常量mapStateToProps=(状态)=>{
返回{
...
};
};
const mapDispatchToProps=(调度)=>{
返回{
doLogin:(电子邮件,密码)=>发送(performLogin(电子邮件,密码))
};
};
导出默认连接(MapStateTrops、mapDispatchToProps)(LoginForm)
使用React(根据我的研究)读取FormControl文本值的唯一方法是:
类LoginForm扩展了React.Component{
handleOnChange=(事件)=>{
this.setState({[event.target.id]:event.target.value},null);
}
render(){
返回(
电子邮件
密码
this.props.doLogin(this.state.email,this.state.password)}>Submit
)
}
}
感谢您指导我正确使用stackoverflow。
class LoginForm extends React.Component {
handleOnChange = (event) => {
this.setState({ [event.target.id]: event.target.value }, null);
}
render() {
return (
<div>
<Form horizontal>
<FormGroup controlId="email">
<Col componentClass={ControlLabel}}>Email</Col>
<Col>
<FormControl type="email" placeholder="Email" onChange={this.handleOnChange}
/>
</Col>
</FormGroup>
<FormGroup controlId="password">
<Col componentClass={ControlLabel} sm={2}>Password</Col>
<Col>
<FormControl type="password" placeholder="Password" onChange={this.handleOnChange} />
</Col>
</FormGroup>
<FormGroup>
<Col>
<Button onClick={() => this.props.doLogin(this.state.email, this.state.password)}>Submit</Button>
</Col>
</FormGroup>
</Form>
</div>
)
}
}