Сам интересовался этим вопросом, на самом деле практика, практика , практика. Не стоит завязываться на чужом коде, пиши сам, чем больше практикуешься, тем больше становится вопросов, на которые ты найдешь много ответов, а позже сам выберешь, какой из них правильный.
Сколько людей, столько и мнений.
Каждый раз открываю свои старые проекты, не могу на них взглянуть без боли.
По поводу стека - React , Redux , TypeScript - хороший набор инструментов.