Ответ
В последних проектах использовал React с TypeScript для строгой типизации и повышения надежности кода. Для стилей применял CSS Modules и SCSS, а также Tailwind CSS для быстрой разработки.
Для управления состоянием использовал Redux Toolkit и RTK Query для работы с API.
Пример:
// Компонент с RTK Query
const { data, isLoading } = useGetPostsQuery();
if (isLoading) return <Loader />;
return <div>{data?.map(post => <PostCard key={post.id} {...post} />)}</div>;
Дополнительно: Next.js для SSR, Jest + React Testing Library для тестов, Webpack/Vite для сборки.
Ответ 18+ 🔞
Да ты посмотри, какой я, блядь, технологичный мужик! В последних проектах, как честный человек, сидел на React с TypeScript — чтобы эта ваша строгая типизация, блядь, мозги не выносила и код не разваливался на ровном месте. Для стилей, сука, CSS Modules и SCSS, а когда надо быстро накидать — Tailwind CSS, чтоб не ебаться с селекторами до посинения.
А состояние, блядь, управлял через Redux Toolkit, да ещё и RTK Query прикрутил, чтобы с API не общаться, как с идиотом, вручную.
Вот, смотри, пример, чтоб не пиздел:
// Компонент с RTK Query
const { data, isLoading } = useGetPostsQuery();
if (isLoading) return <Loader />;
return <div>{data?.map(post => <PostCard key={post.id} {...post} />)}</div>;
Ну и по мелочи, ёпта: Next.js для SSR, чтобы поисковики не плевались, Jest с React Testing Library — для тестов, чтоб не обосраться на проде, и Webpack или Vite для сборки, потому что без этого — пиши пропало, всё разъедется, как говно в проруби.