Javascript 如何从react引导复选框中获取值/属性?

Javascript 如何从react引导复选框中获取值/属性?,javascript,reactjs,checkbox,redux,react-bootstrap,Javascript,Reactjs,Checkbox,Redux,React Bootstrap,我正在尝试使用react bootstrap复选框(),需要在事件改变状态时触发事件。能够以编程方式取消/检查它和/或告诉它是否已检查,这也将非常好。不幸的是,当代码被传输和呈现时,它将输入包装在一个div中 如何在dom中找到它并对其进行操作 我的代码与此类似: import React, { PropTypes } from 'react'; import { Checkbox } from 'react-bootstrap'; const EditItem = (props) =>

我正在尝试使用react bootstrap复选框(),需要在事件改变状态时触发事件。能够以编程方式取消/检查它和/或告诉它是否已检查,这也将非常好。不幸的是,当代码被传输和呈现时,它将输入包装在一个div中

如何在dom中找到它并对其进行操作

我的代码与此类似:

import React, { PropTypes } from 'react';
import { Checkbox } from 'react-bootstrap';

const EditItem = (props) => {

  return (
    <div>
      <Checkbox style={{ marginLeft: '15px' }} >{props.itemLable}</Checkbox>
    </div>
  );
};

export default EditItem;
import React,{PropTypes}来自'React';
从“react bootstrap”导入{Checkbox};
常量编辑项=(道具)=>{
返回(
{props.itemLable}
);
};
导出默认编辑项;
浏览器会呈现以下内容:

...
<div class="checkbox" style="margin-left: 15px;">
  <label>
    <input type="checkbox">
  </label>
</div>
...
。。。
...

我在文档中看到了inputRef道具,但我找不到任何这样的例子,也无法让它自己工作

您是否尝试将onChange属性设置为复选框

handleChange(event) {
    this.setState(*set checkbox state here*);
}

<Checkbox onChange={this.handleChange}></Checkbox>
handleChange(事件){
this.setState(*在此处设置复选框状态*);
}

有两种方式:反应方式和非反应方式

React方法是通过传递子组件的props来设置子组件的状态,并通过附加事件处理程序来响应其状态的更改。在复选框的情况下,这意味着设置
checked
onChange
道具

请注意,在下面的示例中,父组件(应用程序)如何跟踪复选框的状态,并且可以使用
this.setState
设置复选框,并使用
this.state.checkboxChecked
查询复选框

const{Checkbox,Button}=ReactBootstrap;
类应用程序扩展了React.Component{
构造函数(){
超级();
this.state={checkboxChecked:false};
this.handleChange=this.handleChange.bind(this);
this.handleIsItChecked=this.handleIsItChecked.bind(this);
this.handleToggle=this.handleToggle.bind(this);
}
render(){
返回(
切换
检查过了吗?
);
}
手柄更换(evt){
this.setState({checkboxChecked:evt.target.checked});
}
handleIsItChecked(){
log(this.state.checkboxChecked?'Yes':'No');
}
手语{
this.setState({checkboxChecked:!this.state.checkboxChecked});
}
}
ReactDOM.render(,document.querySelector('div')

感谢您的上述回答。我稍微概括了上述内容,以便在给定组件中有多个复选框时使用:

  constructor() {
    super();
    this.state = { YourInputName: false };
    this.handleCheckboxChange = this.handleCheckboxChange.bind(this);
  }

  render() {
    return (
      <div>
        <Checkbox
          name="YourInputName"
          onChange={this.handleCheckboxChange} />
      </div>
    );
  }

  handleCheckboxChange(event) {
    const target = event.target
    const checked = target.checked
    const name = target.name
    this.setState({
        [name]: checked,
    });
  }
constructor(){
超级();
this.state={YourInputName:false};
this.handleCheckboxChange=this.handleCheckboxChange.bind(this);
}
render(){
返回(
);
}
HandleCheckBox更改(事件){
const target=event.target
const checked=target.checked
const name=target.name
这是我的国家({
[姓名]:选中,
});
}