для React16.6 сделали lazy, читать тут -
https://reactjs.org/blog/2018/10/23/react-v-16-6.html
раньше было так (есть другие аналоги):
https://github.com/jamiebuilds/react-loadable
ну и обычный роутер
https://github.com/ReactTraining/react-router
можно посмотреть React16.7 правда его еще в мастер не коммитили, там есть Hook'и, проще подключать мултипл-контекс,
про state management - надо сначала посмотреть context -
https://reactjs.org/docs/context.html
делаешь классы в них хранишь данные, пишешь ф-ции, которые обрабатывают данные
если этого мало смотрим redux+saga, или mobx
итого: context + router + lazy