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

302
Vistas
Tratando de pasar un Enum[] del componente hijo al padre

Estoy tratando de pasar una matriz de objetos (enumeraciones) de un componente hijo al padre. Pero no estoy entendiendo el truco.

Componente Padre:

 const [openDialog, setOpenDialog] = useState(false); const handleReturn = () => filtros; const [filtros, setFiltros] = useState<Filtros[]>([]); useEffect(() => { setFiltros(handleReturn); console.log(filtros); }, [openDialog]); <FiltrosDialog openDialog={openDialog} handleCloseDialog={() => setOpenDialog(false)} filtrosSelec={filtros} />

Son Component (aquí hay mucho código, pero confía en mí, el estado está devolviendo una matriz de filtros):

 interface Props { openDialog: boolean; handleCloseDialog: () => void; filtrosSelec: Filtros[]; } export enum Filtros { Ligacoes = "Ligações", Tempo = "Tempo em chamada (min)", Email = "E-mails enviados", Reuniao = "Reuniões agendadas", } const FiltrosDialog: React.FunctionComponent<Props> = ({ openDialog, handleCloseDialog, filtrosSelec, })=> { const [checked, setChecked] = useState<Filtros[]>([]); const [left, setLeft] = useState<Filtros[]>([ Filtros.Reuniao, Filtros.Tempo, Filtros.Email, Filtros.Ligacoes, ]); const [right, setRight] = useState<Filtros[]>(filtrosSelec); const leftChecked = intersecao(checked, left); const rightChecked = intersecao(checked, right); ...}

Básicamente, no estoy seguro de si se supone que mis accesorios de Filtros[] son una función o una matriz en sí misma...

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

0

Sus estados están bien, pero aquí está la lógica para la comunicación entre padres e hijos en términos de pedirle al niño que cambie la propiedad de los padres.

 cont Parent = () => { const [count, setCount] = useState(0) return <Child count={count} change={setCount} /> }

Puede ver que se pasa setCount , no count . Un niño solo puede cambiar la propiedad principal a través de un método. Porque en términos de establecer la propiedad, count = 3 no lo logrará debido a que count es un valor primitivo.

Esto suele ser bastante claro cuando crea un componente de entrada, como el siguiente.

 <Input value={value} onChange={onChange} />
about 4 years ago · Juan Pablo Isaza Denunciar

0

Acabo de descubrir cómo hacerlo. Necesito pasar setState como la función dentro del apoyo secundario en el componente principal. Y el accesorio secundario debe ser un vacío y su argumento es el Array real:

Padre:

 const [filtros, setFiltros] = useState<Filtros[]>([]); ... <FiltrosDialog openDialog={openDialog} handleCloseDialog={() => setOpenDialog(false)} filtrosSelec={setFiltros} />

Niño:

 interface Props { openDialog: boolean; handleCloseDialog: () => void; filtrosSelec: (arg: Filtros[]) => void; } const FiltrosDialog: React.FunctionComponent<Props> = ({ openDialog, handleCloseDialog, filtrosSelec, }) => { const [right, setRight] = useState<Filtros[]>([]); useEffect(() => filtrosSelec(right)); ...
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