Читал много информации но везде она разная
Всё верно. У каждого проекта своя структура может быть. Использовать нужно ту, что подходит больше всего для конкретных задач и целей.
Всё, что вы прочитали - имеет место быть. Возьмите лучшее, на ваш взгляд, из каждого подхода и используйте в своих проектах.
я делаю отдельные компоненты для каждого элемента (для ul и li тоже отдельние)
Нельзя сказать, что это не правильно, но в большинстве среднестатистических проектах может быть слишком избыточно. Подумайте о том, зачем вам отдельный компонент LI и как вы будете его использовать. Возможно вам не нужно выносить этот элемент в отдельный компонент.