В каждом модуле импортируйте всё и исключительно то, что нужно для работы непосредственно этого модуля. Так ваша система будет гибче и работать с каждым модулем отдельно будет проще. Модули устроены так, что импортируются только раз, не зависимо от того, сколько раз вы вызываете require.
Ваш подход вполне нормальный, если вы конечно не импортируете в модуль А что-то что используется только в модуле Б и не используется в модуле А непосредственно.
Выносить все импорты в отдельный файл, как предлагает
Дмитрий я бы не стал.
А
все модули передавать напрямую в функцию (как это сделано со state)
оправдано только в том случае, если вы реализуете
паттерн Стратегия