Смотри, если хочешь использовать react, angular, vue, то это как сам знаешь фрейворки для фронтенд разработки, на нем не сможешь бэкенд написать. И придется тебе для бэкенда еще новый проект создавать, это можешь на php, java, c#, nodejs. По идее такой подход хорошо будет, если ты хочешь сделать бэкенд отдельно и будешь его использовать везде в любом месте, это в web проекте, в мобилке(android, ios). Если даже будешь использовать только в web проекте, то такой подход лучше, чтобы дальше развивать сам проект. Типа у тебя фронт и бэк отдельно и все по полочкам.
И есть такой вариант, то что можешь все это на одном php, java, c# сделать. И бэк и фронт.
Например лично я делаю проекты фронт на angular, бэк на c#, база mssql.