Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Reactjs 反应+;redux与react引导>;FormControl>;获得价值_Reactjs_Redux_React Bootstrap_Form Control - Fatal编程技术网

Reactjs 反应+;redux与react引导>;FormControl>;获得价值

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>

我将react+redux与react引导组件一起使用。 我想将FormControl文本元素(email)的值传递给已发送的redux操作,但我不知道如何做

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>
        )
    }
}