Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

112
Vistas
trying to build a simple calculator with react and javascript here is addition function

import { Form, InputGroup, Button } from "react-bootstrap";

export default function About() {

---------------------> i want this function to perform addition but it is shown NaN even though i parseInt...........

**function add() {
    let n1 = parseInt(document.getElementById("num1").value);
    let n2 = parseInt(document.getElementById("num2").value);
    document.getElementById("result").innerHTML = n1 + n2;
}**

return (
    <> <h2>addition function</h2>
        <div className="row">
            <div className="col-6">
                <InputGroup className="mb-3" id="num1">
                    <Form.Control
                        placeholder="number1" />
                </InputGroup>
            </div>
            <div className="col-6">

                <InputGroup className="mb-3" id="num2">
                    <Form.Control
                        placeholder="number2"
                    />
                </InputGroup>
            </div>
            <div className="col-6">

                <InputGroup className="mb-3" id="res">
                    <Form.Control
                        placeholder="answer"
                    />
                </InputGroup>
            </div>
            <Button variant="dark" onClick={add} >Add</Button>
        </div>
    </>
);

}

about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

You can introduce three state for numberOne, numberTwo and for total using useState hook as:

  const [numberOne, setNumberOne] = useState(0);
  const [numberTwo, setNumberTwo] = useState(0);
  const [total, setTotal] = useState(0);

CODESANDBOX LINK

on click of button Add you just have to set total as value to setTotal as:

  function add() {
    setTotal(numberOne + numberTwo);
  }

You can change input as of type number so tha user can only input of type number

<Form.Control
              type="number"
              placeholder="number1"
              value={numberOne}
              onChange={(e) => setNumberOne(+e.target.value)}
            />

FULL CODE

function About() {
  const [numberOne, setNumberOne] = useState(0);
  const [numberTwo, setNumberTwo] = useState(0);
  const [total, setTotal] = useState(0);
  function add() {
    setTotal(numberOne + numberTwo);
  }

  return (
    <>
      <h2>addition function</h2>
      <div className="row">
        <div className="col-6">
          <InputGroup className="mb-3" id="num1">
            <Form.Control
              type="number"
              placeholder="number1"
              value={numberOne}
              onChange={(e) => setNumberOne(+e.target.value)}
            />
          </InputGroup>
        </div>
        <div className="col-6">
          <InputGroup className="mb-3" id="num2">
            <Form.Control
              type="number"
              placeholder="number2"
              value={numberTwo}
              onChange={(e) => setNumberTwo(+e.target.value)}
            />
          </InputGroup>
        </div>
        <div className="col-6">
          <InputGroup className="mb-3" id="res">
            <Form.Control placeholder="answer" value={total} />
          </InputGroup>
        </div>
        <Button variant="dark" onClick={add}>
          Add
        </Button>
      </div>
    </>
  );
}

export default function App() {
  return (
    <div className="App">
      <About />
    </div>
  );
}
about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda