if you using after an event occurred you can use
const selected = event.target.checked; //true or false
An example would be if you want to track selected items, here is an example using react react-hook-form react material ui, it would be better than using value from rendered field that give wrong values
... const [selectedQuestions, setSelectedQuestions] = useState(0); const handleSelectedQuestions = (checked) => { if (checked) { setSelectedQuestions((prev) => prev + 1); } else { setSelectedQuestions((prev) => prev - 1); } }; <Controller key={item.id} control={control} name={`question-${item.id}`} defaultValue={false} render={({ field: { onChange } }) => ( <Grid key={item.id} item xs={12}> <QuestionCard item={item} handleOpen={handleOpen} isLoading={isLoading} isError={isError} onChange={(event) => { handleSelectedQuestions(event.target.checked); onChange(event); }} /> </Grid> )} /> ...
export default function QuestionsCard({ item, handleOpen, onChange }) { return ( ... <FormControlLabel control={ <Checkbox // checked={value} onChange={onChange} sx={{ '& svg': { fontSize: '1.266rem', }, }} /> } /> ) }