Flutter 颤振-平移oninit

Flutter 颤振-平移oninit,flutter,internationalization,Flutter,Internationalization,第一类 第2类(非本地化) Future load()异步{ String data=await rootBundle.loadString('locale/i18n_${locale.languageCode}.json'); Map _result=json.decode(数据); 这是一张新地图; _forEach((字符串键,动态值){ 这个._句子[key]=value.toString(); }); 返回true; } 返回 所以问题是:当屏幕加载(oninit)时,如何加载自定

第一类

第2类(非本地化)

Future load()异步{
String data=await rootBundle.loadString('locale/i18n_${locale.languageCode}.json');
Map _result=json.decode(数据);
这是一张新地图;
_forEach((字符串键,动态值){
这个._句子[key]=value.toString();
});
返回true;
}
返回


所以问题是:当屏幕加载(oninit)时,如何加载自定义字符串(internazionalization)?

使用
didChangeDependencies
而不是
initState

它在小部件创建后调用一次,在解除本地化状态更改时再次调用

@override
      void initState() {
        super.initState();
        text =DemoLocalizations.of(context).trans('connection');
      }
 Future<bool> load() async {

    String data = await rootBundle.loadString('locale/i18n_${locale.languageCode}.json');
    Map<String, dynamic> _result = json.decode(data);

    this._sentences = new Map();
    _result.forEach((String key, dynamic value) {
      this._sentences[key] = value.toString();
    });

    return true;
  }