То, что вы описываете, является проблемой решения глобальных состояний, такой как решение проблемы избыточности. Так как вы хотели бы использовать решение ванильной реакции, я бы предложил либо поднять состояние до родительского элемента обоих компонентов, либо использовать Context API - вы можете прочитать о Context здесь: https://reactjs.org/docs/context.html#reactcreatecontext
Поднятие состояния в основномозначает перемещение места, которое вы объявляете, и функции, которая изменяет состояние, до родительского элемента обоих компонентов. Затем вы можете передать состояние и функции, которая изменяет состояние в качестве реквизита, позволяя обоим компонентам совместно использовать это состояние, а также иметь возможность изменять состояние.
Если это только небольшое значениеобъем данных или что-то простое, я бы пошел с поднятием состояния. Если он будет расти со временем, я бы использовал Context.
Удачи!