Zend certified PHP/Magento developer

Magento 2 – changing store view from observer

I have an observer in my module (fired on controller_action_predispatch) which checks the current logged in customer billing country, and sets the store view accordingly.

For example:

$this->storeManager->setCurrentStore('1');

However, the new store view isn’t loading on the frontend? I have logged the store id from the observer to check it worked and it looks fine there. Is this a cache issue? How would I go about loading the correct store view?