将状态与id | ReactJS连接

将状态与id | ReactJS连接,reactjs,checkbox,state,Reactjs,Checkbox,State,我有多个复选框,当我点击“全选/无”复选框时,它会工作,所有复选框都被选中,但我希望能够逐个选中每个复选框。我的问题是它们都使用相同的状态。因此,如果我点击一个复选框只选中这一个,它将选中所有其他的复选框 所以我的问题是:是否可以将一个id连接到一个状态 我的国家有: isAllTablesChecked: false, isAllReportsChecked: false, isTableChecked: false, isReportChecked: false, tables: [

我有多个复选框,当我点击“全选/无”复选框时,它会工作,所有复选框都被选中,但我希望能够逐个选中每个复选框。我的问题是它们都使用相同的状态。因此,如果我点击一个复选框只选中这一个,它将选中所有其他的复选框

所以我的问题是:是否可以将一个id连接到一个状态

我的国家有:

isAllTablesChecked: false,
isAllReportsChecked: false,
isTableChecked: false,
isReportChecked: false,
tables: [
         {id: 1, name: 'Accounts'},
         {id: 2, name: 'Asset Types'},
         {id: 3, name: 'Assets'},
         {id: 4, name: 'Bank Transactions'}
        ],
report: [
         {id: 5, name: 'Aged Payables by Contact'},
         {id: 6, name: 'Aged Receivables by Contact'},
         {id: 7, name: 'Balance Sheet'},
         {id: 8, name: 'Bank Statement'}
        ]
在下面的地图中:

const tables = this.state.tables.map(table =>
      <div>
        <Input
         type="checkbox"
         name={table.name}
         id={this.state.isTableChecked}
         checked={this.state.isTableChecked}
         onClick={this.checkTables}
        />
        <b> {table.name} </b>
      </div>
    )

    const reports = this.state.reports.map(report =>
      <div>
        <Input
         type="checkbox"
         name={report.name}
         id={this.state.isReportChecked}
         checked={this.state.isReportChecked}
         onClick={this.checkReports}
        />
        <b> {report.name} </b>
      </div>
    )

谢谢你的帮助。

我找到了解决问题的方法

正如我在回复Jeremy Harris时所说,我在状态数组的JSON数据中使用了checked属性

以下是解决方案的链接,它对我很有用:


希望这会对您有所帮助,我会将此主题作为已解决的主题。

当您不在state.tables数组和state.reports数组中添加
选中的
属性时?@JeremyHarris在JSON数据中?我已经试过了,但没用,我可能做得很糟。。。
id={this.state.isTableChecked+tables.id}