Да не. Я имею в виду, что когда ты отдаешь онклик, ты его описываешь в родителе. Тут же ты описываешь всю мутацию стейта родителя. Дочке это всё пофигу. В самом коде дочки тебя вообще не трогает что там в онклике пришло. Такой случай я не могу причислить к "отдавать что-то родителю". Поэтому оно и валидно абсолютно.
не ну тип сматри, onChange на инпуте. но условие onChange(value: string): void
то есть тебе в компоненте инпута ручками нужно распаковать из эвента вэлью и скормить в onChange которое из пропсов. поднимаешь данные же?