#javascript #android #ios #react-native
#javascript #Android #iOS #react-native
Вопрос:
Я разрабатываю приложение на react native и хотел бы отобразить некоторое расстояние для своих пользователей.
Поскольку я живу в Европе, я использовал системы «Километров», но я хотел бы знать свои пользовательские настройки для этих показателей, чтобы я мог отображать значение с правильной единицей измерения.
Я уже использовал этот модуль:https://github.com/react-native-community/react-native-device-info
Но, похоже, у него нет такой функциональности.
Знаете ли вы какой-нибудь модуль, который имеет? Или быстрый способ связать какую-либо встроенную функцию?
Заранее благодарю вас
Комментарии:
1. Вы могли бы использовать
getDeviceCountry()
сreact-native-device-info
, есть только несколько стран, которые используют мили, чтобы вы могли жестко проверять эти страны2. Полезно знать, что большинство стран используют метрическую систему. В то время как в Великобритании и США все еще используются имперские единицы для определения расстояний на дорогах, в большинстве случаев они используют метрическую систему (наука, инженерия, медицина, оборона …).
Ответ №1:
Как уже предлагалось в комментариях, вы можете использовать react-native-device-info
. Смотрите ниже рабочий пример:
transformDistance(distanceKM) {
const countryCode = DeviceInfo.getDeviceCountry(); // get country code
const factor = 0.621371; // constant scale factor: 1km = 0.621371 miles
if (countryCode == "US") {
return <Text> {distanceKM * factor} Miles </Text>;
}
// add other countries as additional if statements here
//
//otherwise return distance in metric unit
return <Text> {distanceKM} Km </Text>;
}
render() {
return (
<View style={styles.container}>
<View>
{this.transformDistance(5)} // outputs 3.106855 Miles or 5 Km
</View>
</View>
);
}
Комментарии:
1. Здравствуйте, спасибо за советы! Я проверю список стран в Google, чтобы добавить больше, чем США, если это необходимо 🙂