Хук должен вызваться при рендере компонента, причём при каждом. У вас явно не так. Используйте useHistory в самом компоненте, а в эту функцию передайте через аргумент.
Вы можете тему (стили) задавать в CSS custom properties (CSS переменных) и отдавать файл с темой с сервера.
Но это только для стилей. Сам подход с общими компонентами в отдельном пакете — норм. Если вы поменяете API какого-то компонента, вам точно не нужно, чтобы оно само поменялось в зависящих пакетах.
Из вопроса не совсем понятно, что именно вам нужно.
Если деструктуризация с новыми именами, то: const { done: first, text: second } = myObj;;
Если вытащить поле со второго уровня, как я понял из комментариев к предыдущему ответу, то: const { text, some: { someDeepValue} } = myObj..
1. Используйте плагин для вашего сборщика, который автоматически будет вставлять импорт;
2. Или переезжайте на React 17 (Introducing the New JSX Transform).