Собственно, а почему нет? Можно, и многие именно так и делают. Можно также использовать кастомный хук, например useSidebarItems, или функцию высшего порядка HOC withSidebarItems.
Данные нужно запрашивать только тогда, когда они нужны вашему приложению. Если они нужны "сразу" при открытии приложения - можно фетчить в корневом компоненте, хотя так все же никто не делает. Кроме танков есть еще RTK Query с блекджеком и ... ну вы поняли.
Если ошибка у 1 пользователя, я бы смотрел в сторону плагинов, установленных у пользователя в браузере. Сам по себе Firefox повлиять на js не может. Пусть отключит все плагины.
PHP на бекэнде выступает в роли API - отвечает данными на запросы фронта (React). Сам PHP ничего не рендерит, только отдает данные как правило в формате JSON.
React.JS - это фронт, он занимается генерацией/отрисовкой страниц, отправкой запросов на бек, обработкой полученных от бека данных. Вся работа с шаблонами, страницами, CSS и анимацией происходит тут.
const [errors, setErrors] = useState({
name: '',
teleph: '',
email: '',
});
// когда нужно устанавливается одну ошибку
setErrors({ ...errors, [name]: value })
// где name - имя ключа объекта с ошибками, value - значение ошибки
HTTPS обязателен для работы с аудио или видео через JS. Подойдет любой валидный SSL-сертификат, в том числе и от Let`s Encrypt. Насчет "самодельных" сертификатов сказать не могу - не пробовал.