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

390
Views
Reaccionar, pasando el setter de estado (useState) al componente secundario con TypeScript

Tengo dificultades para descifrar los tipos al pasar la función de establecimiento de useState a un componente secundario.

He tratado de simplificar solo el código esencial a continuación:

padre

 function Parent() { const [name, setName] = useState("Structured") .. return ( <> <Child setName={setName}/> </>

niño

 import { Dispatch, SetStateAction } from "react"; function Child(setName: Dispatch<SetStateAction<string>>){ return ( <> <Input onChange={ (value)=>{ setName(value: SetStateAction<string>) console.log(value) } </Input> </>

En el padre recibo los siguientes errores:

Escriba "{ setName: Dispatch<SetStateAction>; }' no se puede asignar al tipo ' IntrinsicAttributes & Dispatch<SetStateAction' La propiedad 'setName' no existe en el tipo 'IntrinsicAttributes & Dispatch<SetStateAction>'.

En el niño que estoy recibiendo:

El argumento de tipo "cadena | cadena[]' no se puede asignar al parámetro de tipo 'SetStateAction' El tipo "cadena[]' no se puede asignar al tipo "SetStateAction'

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

0

Debiera ser

 function Child({ setName } : { setName: Dispatch<SetStateAction<string>>}){

Child componente secundario acepta accesorios, que es un objeto, no solo el valor setName

about 4 years ago · Juan Pablo Isaza Report

0

Puede escribir su componente funcional React con la ayuda de FC de React, si desea un componente React completo. De lo contrario, por ejemplo, no puede acceder a children props de formularios secundarios, ya que no se conoce como un componente React.

Para la parte onChange , estoy haciendo un reparto por ahora, ya que no sé cómo se ve esta Input . ¿Puedes mostrarlo?

 import { Dispatch, SetStateAction, FC} from "react"; interface ChildPropsType { setName: Dispatch<SetStateAction<string>> } /* I'm using an interface for convenience, you can replace it with { setName: Dispatch<SetStateAction<string>> } */ const Child : FC<ChildPropsType> = ({setName}) => { return ( <> <Input onChange={ (value as string)=>{ setName(value); } </Input> </> ) } export default Child;
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!