Javascript 如何在React.js中的按钮上使用onClick事件选中/取消选中复选框? 从“React”导入React; 导入“/App.css”; 从“react bootstrap”导入{Button}; 函数App(){ 返回( 取消勾选 ); } 导出默认应用程序;

Javascript 如何在React.js中的按钮上使用onClick事件选中/取消选中复选框? 从“React”导入React; 导入“/App.css”; 从“react bootstrap”导入{Button}; 函数App(){ 返回( 取消勾选 ); } 导出默认应用程序;,javascript,jquery,reactjs,Javascript,Jquery,Reactjs,我有一个复选框和一个按钮。如果单击按钮,我希望复选框处于“未选中”状态 我试过的- import React from 'react'; import './App.css'; import { Button } from 'react-bootstrap'; function App() { return ( <div> <input type="checkbox" id="checkboxForHamburger" /> <

我有一个复选框和一个按钮。如果单击按钮,我希望复选框处于“未选中”状态

我试过的-

import React from 'react';
import './App.css';
import { Button } from 'react-bootstrap';

function App() {
  return (
    <div>
      <input type="checkbox" id="checkboxForHamburger" />

      <Button onClick={??????}> UNCHECK </Button>
    </div>
  );
}

export default App;
取消选中

这给了我一个错误-无法将属性“checked”设置为null

首先,您的复选框不受状态值控制:

让我们先添加一个状态:

<Button onClick={document.getElementById("checkboxForHamburger").checked = false}> UNCHECK </Button>
然后,我们将值赋予复选框:

const [checked, setChecked] = React.useState(true);

然后让我们告诉按钮切换选中状态

<input type="checkbox" checked={checked} />
{setChecked(old=>!old)}>{checked?'uncheck':'check'}

关于

的工作示例您可以这样做-

<button onClick={() => {setChecked(old => !old)}}> {checked ? 'uncheck' : 'check'} </button>
按钮应该是

  handleCheckbox = (e) => {
    e.preventDefault();
    this.setState({checked: !this.state.checked});
  } 
{this.state.checked?'Uncheck':'Check'}
我刚刚运行了这个错误

您想像下面的代码一样运行它吗

import React,{useState}来自“React”;
导入“/App.css”;
从“react bootstrap”导入{Button};
函数App(){
const[value,setValue]=useState(false);
返回(
setValue(!value)}>取消选中
);
}
导出默认应用程序;
如果该值是布尔值,我们可以判断它是否被选中。

这将起作用:

<button type="button" onClick={this.handleCheckbox}>{this.state.checked ? 'Uncheck': 'Check'}</button>
从“React”导入React;
从“react dom”导入react dom;
导出默认类App扩展React.Component{
构造函数(){
this.state={check:false};
this.Toggle\u checkbox=this.Toggle\u checkbox.bind(this);
}
切换_复选框=()=>{
this.setState({check:!this.state.check});
}
render(){
返回(
切换
);
}
} 

ReactDOM.render(

控制复选框-。在react中直接访问dom是不好的做法。使用state,不要这样做-它不是react。我更喜欢使用功能组件而不是类组件。不要直接使用state值。此外,如果要区分UNCHECK和CHECK,请使用三尖瓣操作符编写以下内容一起。{value?选中:取消选中}
<button type="button" onClick={this.handleCheckbox}>{this.state.checked ? 'Uncheck': 'Check'}</button>
import React from 'react';
import ReactDOM from 'react-dom';
export default class App extends React.Component {
 constructor(){
  this.state={check:false};

   this.Toggle_checkbox=this.Toggle_checkbox.bind(this);
 }
  Toggle_checkbox=()=>{
this.setState({check:!this.state.check});
  }
 render(){
   return (
    <div>
      <input type="checkbox" checked={this.state.check} />

      <button onClick={this.Toggle_checkbox}> toggle </button>
    </div>
  );
}

 } 
ReactDOM.render(<App/>,document.getElementById('root'));