Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

282
Views
¿Hay alguna forma de manejar entradas de números en lugar de cadenas con React Native?

Tengo un estado de contexto de reacción para mis valores de entrada de múltiples formularios:

 const [formValues, setFormValues] = useState({ sex: "male", unitSystem: "metric", heightInCm: "173", weightInKg: "60", dateOfBirth: null, });

y estoy luchando por entender cómo debo manejar mis entradas de números, como la altura y el peso. Por el momento tengo que almacenarlos en formato de cadena, porque TextInput solo acepta una cadena. Me encuentro teniendo que seguir convirtiendo cadenas en números para validaciones.

Por ejemplo, este es mi controlador de entrada:

 const toCm = (foot: string, inches: string) => { const footInCm = convert(parseInt(foot)).from("ft").to("cm"); const inchesToCm = convert(parseInt(inches)).from("in").to("cm"); const actualCm = footInCm + inchesToCm; return actualCm; }; const handleImperialSubmit = () => { toCm(foot, inches); setFormValues((prev) => ({ ...prev, heightInCm: toCm(foot, inches).toString(), })); setModalVisible(!modalVisible); };

¿Hay alguna manera de trabajar con números reales en reaccionar nativo, porque esto es muy confuso?

about 4 years ago · Juan Pablo Isaza
1 answers
Answer question

0

La respuesta corta: No.

La respuesta más larga: Todavía no, no hay forma de que el TextInput de React Native le devuelva números, en parte probablemente porque no hay forma de restringir la entrada a números solo que están integrados en TextInput . Tienes un par de opciones que pueden hacer tu vida más fácil.

  1. Debido a que todo esto es solo javascript (o mecanografiado, no discriminamos), podría implementar esta funcionalidad usted mismo:
 const [number, onChangeNumber] = React.useState(null) return ( <TextInput style={styles.input} onChangeText={textValue => { if(!isNaN(textValue) && !isNaN(parseInt(textValue))) { onChangeNumber(parseInt(textValue)) } else if (textValue === "") { onChangeNumber(null) } }} value={number?.toString()} keyboardType="numeric" /> )

Puede crear un componente a partir de esto o envolver la lógica en un gancho para reutilizarlo en todas sus "entradas numéricas". El ejemplo anterior puede ser un poco exagerado después de configurar el teclado en numérico, pero desde ese teclado puede incluir un decimal que puede o no desear. La lógica se puede actualizar en consecuencia.

  1. Hablando de ganchos, hay una gran cantidad de bibliotecas de formularios que podrían interesarle y que hacen gran parte del trabajo pesado por usted. Algunas opciones incluyen:
  • Formik
  • Forma de gancho de reacción
  • Reaccionar forma final

entre otros.

about 4 years ago · Juan Pablo Isaza Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!