Лучший вариант - сохранить выбранные значения в переменной состояния.Метод handleChange
проверяет, находится ли измененное значение флажка в valArr
. Если он присутствует, он удаляет значение из массива и заменяет переменную состояния новым массивом, а если его нет, он просто помещает значение в массив,
Таким образом, this.state.valArr
всегда будет иметь только выбранные значения флажков.
constructor(props) {
super(props);
this.state = {
valArr: []
}
}
handleChange = (val) => {
let { valArr } = this.state;
let index = valArr.indexOf(val);
if (index != -1)
valArr.splice(index, 1);
else
valArr.push(val);
this.setState({ valArr });
}
render() {
.
.
.
<div key={`movies`} className="mb-1">
<Form.Check
type={type} custom
id={`movies}`}
label={`Movies`}
value={`Movies`}
onChange={this.handleChange}
/>
</div>
}