На самом деле не помню как решал данную проблему. Но посмотрите в исходном коде - у вас id блокам то присваивается, их надо задавать не просто как id="bla", а в виде id={"bla"} и тогда вроде якоря начинают работать.
p.s.
Не точно :)
1 и 2 - конечно потратьте время, ознакомьтесь с ними - лишними такие знания точно не будут.
3 - React как и Angular 2 очень изменчив, да весь JS сейчас бурно развивается и каждый день вываливают кучи всего полезного и не очень, так что посмотрите на ангуляр, посмотрите на реакт и выберите для себя лучшее.
Но учтите, что Angular - фреймворк, React - библиотека.
Первое - это разделение Backend'a и Frontend'a.
Второе - удобство использования JS фреймворков, использование новых технологий (ES20**), виртуальный дом, SPA, да много чего.
И как по мне - если вы задаетесь таким вопросом, то вряд ли вам нужно это совмещать.
В случае если указан <base href="..."/>
путь будет указываться от base-href'a, ну и все зависит от настроек сервера.
Да и выглядит так симпатичнее, как по мне ^^