Не пойму как использовать useCallback / useMemo, чтобы предотвратить ререндеринг, тем самым сделать работоспособный checkbox css (input:checked + label) + текст не моргал.
const changeConfirm = () => setConfim(!confirm)
<Field type="checkbox" placeholder='text' onInput={changeConfirm} />
export const Field = ({ type, placeholder, onInput }) => {
const InputRadio = () => {
return (
<div>
<input
type="checkbox"
onChange={onInput}
/>
<label
dangerouslySetInnerHTML={{ __html: placeholder }}
></label>
</div>
)
}
return (
<div>
{type === 'checkbox' ? <InputRadio /> : <InputText />}
</div>
)
}