Хз, это спорный вопрос. Я юзайю одинаковую иерархическую сруктуру. Т.е. на верхнем уровне у меня есть папки components, utils итд, дальше у каждого сложного компонента \ страницы своя папочка с точно такой же структурой относящаяся конкретно к этому компоненту. И так вглубь. Если что-то становится общим - оно едет выше, что-то локальное - ниже. Но я не претендую на истину, и кому-то это может показаться ужасным.)