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 loan calculator app 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 loan-calculator
with NPM to create our React project.
Create the Loan Calculator App
To create the loan calculator app, we write:
import React, { useState } from "react";
export default function App() {
const [loanAmount, setLoanAmount] = useState(0);
const [interestRate, setInterestRate] = useState(0);
const [numMonths, setNumMonth] = useState(0);
const [monthlyPayment, setMonthlyPayment] = useState(0);
const calculate = (e) => {
e.preventDefault();
const formValid =
+loanAmount >= 0 &&
0 <= +interestRate &&
+interestRate <= 100 &&
+numMonths > 0;
if (!formValid) {
return;
}
setMonthlyPayment((+loanAmount * (1 + +interestRate / 100)) / +numMonths);
};
return (
<div className="App">
<form onSubmit={calculate}>
<div>
<label>loan amount</label>
<input
value={loanAmount}
onChange={(e) => setLoanAmount(e.target.value)}
/>
</div>
<div>
<label>interest rate</label>
<input
value={interestRate}
onChange={(e) => setInterestRate(e.target.value)}
/>
</div>
<div>
<label>number of months to pay off loan</label>
<input
value={numMonths}
onChange={(e) => setNumMonth(e.target.value)}
/>
</div>
<button type="submit">calculate monthly payment</button>
</form>
<p>monthly payment: {monthlyPayment.toFixed(2)}</p>
</div>
);
}
We have the loanAmount , interestedRate , and numMonths states which are bound to the inputs with value and onChange .
onChange of each input are set to a function that calls the respective state change functions to set the state.
e.target.value has the inputted value.
The monthlyPayment state has the monthly payment result.
Then we add the calculate function that calculates the monthlyPayment .
In it, we call e.preventDefault() to let us do client-side form submission.
We check if each value is valid with the formValid expression.
If they are, then we call setMonthlyPayment to set the monthlyPayment value.
In the JSX, we have the form with the onSubmit prop set to the calculate function.
It’s called when we click on calculate monthly.
Below the form, we show the monthly payment.
Conclusion
We can create a loan calculator easily with React and JavaScript.