Если вы хотите, чтобы базовое значение снова стало эффективным значением, вы должны остановить анимацию от влияния на свойство. Существует три способа сделать это с помощью анимации раскадровки:
blockquote>
- Установите для свойства FillBehavior анимации значение Stop
- Удалите всю раскадровку
- Удалите анимацию из индивидуальное свойство
Из MSDN
Как установить свойство после анимации с помощью раскадровки
Дело в том, что в AppearanceToggleScreen
вы меняете состояние, поэтому компонент перерисовывается (с новой темой), а потому что SettingsScreen
уже находится в стеке навигации (потому что там вы находитесь переход от) componentDidMount
больше не выполняется.
Теперь, может быть, вы захотите использовать API контекста для глобального доступа к значениям или сделать что-то вроде этого .