动态更新设备信息反应原生

时间:2016-11-28 19:56:31

标签: javascript reactjs react-native

我正在使用react-native-device-info来获取DeviceLocale或DeviceCountry。但有没有办法,我可以更新设备信息而无需重新启动应用程序。 例如,在设备设置上如果我的语言设置为“英语(美国)”,则设备信息凸轮检测到该设置,但如果我将设置更改为“英语(CA)”,则设备信息无法捕获该设置直到我重启应用程序。

非常感谢任何帮助。

2 个答案:

答案 0 :(得分:0)

您是如何更改语言设置的?

如果内置...你可以做一些事情,比如将语言设置为组件的状态,一旦调用函数来更改语言设置,你可以设置state并且它会更新具有新值的组件。

如果您正在谈论跳出应用程序并手动更改语言设置,那么可以设置创建setInterval以检查设备信息是否有效。

答案 1 :(得分:0)

假设您在组件的类定义之外定义对DeviceInfo的引用,您可以尝试将其移到内部。

class MyComponent extends React.Component {
  checkDeviceInfo() {
    let DeviceInfo = require('react-native-device-info');
    let locale = DeviceInfo.getDeviceLocale();
    // do something with locale
  }

  render() {
    return (
      <TouchableOpacity onPress={this.checkDeviceInfo.bind(this)}>
        <Text>Touch Here</Text>
       </TouchableOpacity>
    )
  }
}

您可以将其放入您的组件中,以便在您想要检查DeviceInfo更改时调用它。