React

HTML

<div id="app"></div>

React

const App = () => {

	const [ selected, setSelected ] = React.useState([]);
  
  const handleOnChange = (ev, id) => {
  	if (selected.includes(id)) {
    	// was already checked
      setSelected(selected.filter(el => el !== id));
    } else {
    	// was not checked
    	setSelected([...(selected), id]);
    }
  };

	return (
  	<div>
  	  <input type="checkbox"
        key="1" 
        checked={ selected.includes("1") }
        onChange={ (ev) => handleOnChange(ev, "1") }
        
      />
      <input type="checkbox" 
        key="2" 
        checked={ selected.includes("2") }
        onChange={ (ev) => handleOnChange(ev, "2") }
      />
      <pre>{selected}</pre>
  	</div>
  );
}

ReactDOM.render(<App />, document.querySelector("#app"))