Реакция на изменение родного языка не влияет сразу - PullRequest
0 голосов
/ 06 мая 2019

Я использую react-native-i18n в своем проекте.После изменения языка на арабский все текстовые данные автоматически выровнены по правой стороне экрана.Но все остальные компоненты, такие как значки, выравниваются только после повторного открытия приложения.

export function langSet(type){
    if(type == "en"){
    I18n.locale = type;
    const currentLocale = I18n.currentLocale();
    }else{
        I18n.locale = type;
        const currentLocale = I18n.currentLocale();
        ReactNative.I18nManager.allowRTL(true);
        ReactNative.I18nManager.forceRTL(true);
    }
}

1 Ответ

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

язык появляется только в том случае, если вы обновляете DOM, для этого вам нужно будет изменить состояние, в результате которого DOM обновится, сделать глупое состояние

state = { languageChange : false }

затем после смещения языка чуть ниже запустите изменение состояния как

this.setState({ languageChange: !this.state.languageChange ) }
...