---
title: Stateful checkbox with multiple selection
type: snippet
tags: [components,input,state,array]
cover: violin
dateModified: 2021-10-13T19:29:39+02:00
---
Renders a checkbox list that uses a callback function to pass its selected value/values to the parent component.
- Use the `useState()` hook to create the `data` state variable and use the `options` prop to initialize its value.
- Create a `toggle` function that uses the spread operator (`...`) and `Array.prototype.splice()` to update the `data` state variable and call the `onChange` callback with any `checked` options.
- Use `Array.prototype.map()` to map the `data` state variable to individual `` elements. Wrap each one in a `