Если отвечать ровно на то, что было спрошено - из родительского компонента в дочерний передавайте функцию, которая будет вызываться в эффекте, зависящем от отслеживаемого значения.
В родительском компоненте:
<Child onChange={onChange} />
В дочернем:
useEffect(() => props.onChange(val), [ val ]);
https://jsfiddle.net/su2az6of/
Но вообще, это странно. Обычно, если надо отправлять изменения какого-то значения родителю, то само значение хранится там же, в родителе, и передаётся через props (вместе с функцией, которая его обновляет).
https://jsfiddle.net/su2az6of/1/