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

385
Vistas
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 Respuestas
Responde la pregunta

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 Denunciar

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 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