Reactjs 处理选中/取消选中多个复选框-反应

Reactjs 处理选中/取消选中多个复选框-反应,reactjs,checkbox,foreach,Reactjs,Checkbox,Foreach,getEmailUserRows(){ 让emailRows=this.props.emailRows 让emailTemplate=emailRows.map((行)=>{ 返回( {row.email} ) }) 返回电子邮件模板 } 手变(活动){ event.target.checked=false 调试器; } 当html根据React中的条件动态生成时,如何处理复选框复选框取消选中。由于有多个复选框,使用state可能非常麻烦。有什么帮助吗 请帮助将非常有用使用状态。当我在做的时候

getEmailUserRows(){
让emailRows=this.props.emailRows
让emailTemplate=emailRows.map((行)=>{
返回(
{row.email}
)
})
返回电子邮件模板
}
手变(活动){
event.target.checked=false
调试器;
}
当html根据React中的条件动态生成时,如何处理复选框复选框取消选中。由于有多个复选框,使用state可能非常麻烦。有什么帮助吗


请帮助将非常有用

使用状态。当我在做的时候,使用Redux来存储状态将是一个好主意。无论您如何保持状态,如果您担心杂乱无章,您可以对整个复选框组使用字典,其中键将是复选框的id

在我评论您的代码时,您的代码有一个常见的缺陷(但如果您不知道,则有点难以发现)。根据状态,要选中或取消选中复选框的代码如下所示:

checked={row.emailCategoryList.crmEmails}

无论
row.emailCategoryList.crmEmails
的计算结果是true还是false,这都将使您的所有复选框都处于选中状态。如果要取消选中复选框,则必须完全忽略选中的属性。

使用状态。当我在做的时候,使用Redux来存储状态将是一个好主意。无论您如何保持状态,如果您担心杂乱无章,您可以对整个复选框组使用字典,其中键将是复选框的id

在我评论您的代码时,您的代码有一个常见的缺陷(但如果您不知道,则有点难以发现)。根据状态,要选中或取消选中复选框的代码如下所示:

checked={row.emailCategoryList.crmEmails}

无论
row.emailCategoryList.crmEmails
的计算结果是true还是false,这都将使您的所有复选框都处于选中状态。如果要取消选中复选框,则必须完全忽略选中的属性。

使用
状态
。将状态与许多项一起使用并不麻烦。现在你的代码很麻烦。它甚至不能正确使用
id
,因为它会在每一行中重复自身。首先将列声明为数组,例如
const columns=[{label:'Transactional Emails',name:'Transactional Emails'},…]
。这将有助于从代码中删除重复的模式。这同样适用于
状态
。这很容易实现。@Sulthan是的,我将补充这是一个基本代码,将删除它。使用
状态
。将状态与许多项一起使用并不麻烦。现在你的代码很麻烦。它甚至不能正确使用
id
,因为它会在每一行中重复自身。首先将列声明为数组,例如
const columns=[{label:'Transactional Emails',name:'Transactional Emails'},…]
。这将有助于从代码中删除重复的模式。这同样适用于
状态
。它很容易实现。@Sulthan是的,我会补充说这是一个基本代码,将删除它。