Как обновить заголовок реагирующей навигации - многоязычная проблема - PullRequest
0 голосов
/ 15 мая 2019

Я пытаюсь интегрировать мультиязычность в свое собственное приложение реагировать с помощью "i18n-js": "^ 3.2.1" Я хочу обновить заголовок в реагирующей навигации после изменения языкового стандарта i18n.

После изменения локали я запускаю this.forceUpdate ();для перезагрузки страницы.

switchSettings = (field_name, value) => {
        console.log(field_name);
        switch (field_name) {
            case "languages": 
                setLanguage(value[0])
                this.forceUpdate();
                break;

            default: 
                break;
        }
    }

это хорошо работает для моих пользовательских компонентов, однако, это не обновляет заголовок / кнопку возврата моего заголовка реакции: \

есть ли что-нибудь доступное с реакцией-навигатор для повторной визуализации заголовка или что-то для переоценки navigationOptions?

Буду очень признателен за вашу помощь.Спасибо

РЕДАКТИРОВАТЬ1:

static navigationOptions = ({ navigation }) => {
        return {
            headerTitle: i18n.t('title')
        }
    };

Выше работает нормально, когда я перехожу на следующую страницу, но если я вернусь, навигацияOptions не переоценивает

Есть предложения?

Спасибо

1 Ответ

0 голосов
/ 16 мая 2019

Маршруты и navigationOptions, которые вы определяете при объявлении маршрутизатора, устанавливаются при запуске приложения. Таким образом, они не изменятся при обновлении языковой поддержки. Что вы можете сделать, это добавить static navigationOptions внутри вашего компонента экрана и определить заголовок там.

Например,

static navigationOptions = {
     title: this.props.language : "en"? "English title": "Other language title",
};
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...