Я думаю, вам следует изучить redux / react-redux или recoil . Это библиотеки, которые созданы для обработки глобального состояния (или состояния, которое необходимо в нескольких местах).
Однако, если ваше приложение очень маленькое и не имеет большого состояния, это нормально сохранить это состояние в App
компонент. Просто убедитесь, что вы будете искать альтернативы, когда ваше приложение разрастется, поскольку оно не очень производительно или читается в более крупных проектах.
Redux был / считается go в библиотеку управления состоянием для реагирования приложений многими. Он отлично интегрируется с react и является очень зрелым. Я бы поставил go за это, если вы ожидаете, что ваше приложение будет иметь сложное глобальное состояние или со временем станет все более и более сложным. Также доступны отличные библиотеки-компаньоны. Например, redux-saga , если вы хотите обрабатывать побочные эффекты, или redux-persist , если вы хотите сохранить состояние ваших приложений.
Recoil все еще довольно новый и специально предназначен для приложений с реакцией. Несмотря на то, что он существует всего несколько месяцев, вы, вероятно, можете ожидать, что он будет хорошо развиваться, поскольку он поддерживается и используется Facebook. Возможно, он более производительный и его легче выбрать, но вы, вероятно, найдете меньше руководств и учебных пособий из-за его новизны.
Если у вас всего несколько значений, вы также можете просто использовать reacts API контекста .