【发布时间】:2021-01-22 06:38:52
【问题描述】:
我正在 React 中构建鸡尾酒配方应用程序,用户应该能够查看各种测量中的剂量单位。
默认情况下,我在“ml”中显示所有值,用户也可以选择在“cl”、“oz”或“part”中查看它。根据用户选择的内容,我需要根据选择的单位度量转换数量值。
我当前的代码:
dosageData = [
{
"dosageIngredient": "gin",
"quantity": "30",
"unit": "ml",
},
{
"dosageIngredient": "campari",
"quantity": "30",
"unit": "ml",
},
{
"dosageIngredient": "sweet red vermouth",
"quantity": "30",
"unit": "ml",
},
]
当用户更改单位度量时 unitHandler() 被调用传递选择为“cl”、“ml”、“oz”、“part”的选项
const unitHandler = (option) => {
const newDosage = dosageData;
switch (option) {
case "cl":
newDosage.map((item) => {
item.unit = option; //changing the unit value of each item in the array to "cl"
var amount = parseInt(item.quantity);
// amount = [conversion formula]
setDosageData(newDosage);
setToggleUnit(option);
});
break;
case "ml":
newDosage.map((item) => {
item.unit = option;
setDosageData(newDosage);
setToggleUnit(option);
});
break;
case "oz":
...
break;
case "part":
...
break;
default:
Alert.alert("Value not found");
}
};
如果我们使用“cl”选项作为示例,我已经设法更改了数组中的单位类型并保存了新数组。 我错过了在数组中转换实际值“数量”的步骤。
如果需要,我有公式的参数 From (toggleUnit) 和 To ("option")。
我尝试使用以下库https://www.npmjs.com/package/mathjs,但它只能在“ml”和“cl”之间工作。
是否有更完整的库或现有的 JS 函数可用。
【问题讨论】:
标签: javascript arrays reactjs react-native data-conversion