React is an easy to use JavaScript framework that lets us create front end apps.
In this article, we’ll look at how to create a temperature converter with React and JavaScript.
Create the Project
We can create the React project with Create React App.
To install it, we run:
npx create-react-app temperature-converter
with NPM to create our React project.
Create the Temperature Converter
To create the temperature converter, we write:
import React, { useState } from "react";
export default function App() {
const [celsius, setCelsius] = useState(0);
const [fahrenheit, setFahrenheit] = useState(0);
const convert = (e) => {
e.preventDefault();
const formValid = !isNaN(+celsius);
if (!formValid) {
return;
}
setFahrenheit(+celsius * (9 / 5) + 32);
};
return (
<div className="App">
<form onSubmit={convert}>
<div>
<label>temperature in celsius</label>
<input value={celsius} onChange={(e) => setCelsius(e.target.value)} />
</div>
<button type="submit">convert</button>
</form>
<div>
{celsius}c is {fahrenheit}f
</div>
</div>
);
}
We have the celsius
and fahrenheit
states which we use to set the celsius and Fahrenheit values respectively.
The convert
function is where we convert the celsius
value to fahrenheit
.
In it, we call e.preventDefault()
to do client-side form submission.
Then we check is celsius
is a number with isNaN
.
If it’s a number, then we call setFahrenheit
with the formula to compute the Fahrenheit from the celsius
.
Below that, we have the form element with the onSubmit
prop set to convert
.
In it, we have an input to let us set the celsius
.
value
is set to celsius
and the onChange
prop is set to a function to set the celsius
value.
e.target.value
has the inputted value.
onSubmit
is run when we click the button with type submit
.
Below that, we display the celsius
value and the fahrenheit
equivalent.
Conclusion
We can create a temperature converter easily with React and JavaScript.