I need to change the checkbox checked status, but useCallback re-renders component a lot of times. I don't understand how it works. I've read a lot of materials about it.
const AppealsList = () => {
const [isFiltered, setFiltered] = React.useState(false);
console.log('rerender');
const changeCheckBox = useCallback(() => {
setFiltered(!isFiltered);
}, [isFiltered]);
return (
<div className={classNames('appeals')}>
<div className={classNames('appeals__filter')}>
<input
checked={isFiltered}
className={classNames('appeals__input')}
type="checkbox"
readOnly={true}
/>
<label
onClick={changeCheckBox}
className={classNames('appeals__filter-label')} />
</div>
</div>
);
};
Amount of re-renders: