Javascript 单击后选择一个特定的todo id
我正在创建一个简单的待办事项应用程序,我正在以这样的道具获取数据Javascript 单击后选择一个特定的todo id,javascript,reactjs,graphql,Javascript,Reactjs,Graphql,我正在创建一个简单的待办事项应用程序,我正在以这样的道具获取数据 id:"5b3447a7b9d0e02144538972" text:"biibbb" 在GraphQL Server中,我现在想要的是,当我单击todo复选框时,我只想记录特定todo的id,但是,它会记录整个id,如下所示: 5b3447a7b9d0e02144538972 5b36ecfdcc8e551bb02b4dac 5b36ed01cc8e551bb02b4dad 5b3702facc8e551bb02b4dae
id:"5b3447a7b9d0e02144538972"
text:"biibbb"
在GraphQL Server中,我现在想要的是,当我单击todo复选框时,我只想记录特定todo的id,但是,它会记录整个id,如下所示:
5b3447a7b9d0e02144538972
5b36ecfdcc8e551bb02b4dac
5b36ed01cc8e551bb02b4dad
5b3702facc8e551bb02b4dae
,有人能推荐一下吗
handleCheckBox = index => {
console.log(index);
}
render() {
const {data: {loading, todos}} = this.props;
if(loading) {
return null;
}
return (
<div>
{todos.map(todo => (
<List key={todo.id}>
<Checkbox
onClick={this.handleCheckBox(todo.id)}
/>
.....
handleCheckBox=index=>{
控制台日志(索引);
}
render(){
const{data:{loading,todos}}=this.props;
如果(装载){
返回null;
}
返回(
{todo.map(todo=>(
.....
您当前正在渲染方法中直接调用handleCheckBox
。您希望为onClick
提供函数引用
因此,与此相反:
<Checkbox onClick={this.handleCheckBox(todo.id)} />
这样做:
<Checkbox onClick={() => this.handleCheckBox(todo.id)} />
this.handleCheckBox(todo.id)}/>
@JasonWilliam很棒!请记住事件处理程序(onClick
,onChange
,…)需要一个在事件发生时可以调用的函数。您不应该自己调用事件处理程序函数。