import { TextField, Typography } from "@mui/material"; import React, { useState } from "react"; function WeightConverter2() { const [kilos, setKilos] = useState("0"); const [grams, setGrams] = useState("0"); const [pounds, setPounds] = useState("0"); console.debug("WeightConverter rerender! kg: " + kilos); function update_kg(val: string) { setKilos(val); if (validateInput(val)) { const num = Number(val); setGrams((num * 1000).toString()); setPounds((num * 2.20462).toString()); } } function updateG(val: string) { setGrams(val); if (validateInput(val)) { const num = Number(val); setKilos((num / 1000).toString()); setPounds((num * 0.00220462).toString()); } } function update_lbs(val: string) { setPounds(val); if (validateInput(val)) { const num = Number(val); setKilos((num / 2.20462).toString()); setGrams((num / 0.00220462).toString()); } } function validateInput(val: string) { return !isNaN(Number(val)); } return ( <> WeightConverter update_kg(e.target.value)} /> updateG(e.target.value)} /> update_lbs(e.target.value)} /> ); } export default WeightConverter2;