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

102
Vistas
¿Podemos actualizar el estado de un átomo cada vez que otro átomo cambia en RecoilJS?

Soy bastante nuevo en el átomo de retroceso y esas cosas. Suponiendo que tengo 2 átomos

timeRangeAtom que determina el rango de tiempo de la selección

 export const timeRangeAtom = atom<Array<string>>({ key: 'timeRangeAtom', default: [ dayjs().subtract(7, 'day').format(DateFormat), dayjs().subtract(1, 'day').format(DateFormat), ], });

filterAtoms que determina la selección actual del usuario de todos los filtros (uno de ellos es timeRange )

 export const filterAtom = atom<any>({ key: 'filterAtom', default: {time: [] }, });

Ahora en mi código, cada vez que el usuario seleccione una fecha, actualizaré el valor de timeRangeAtom . Estoy haciendo esto llamando a setTime of useRecoilState

 const [time, setTime] = useRecoilState( timeRangeAtom, );

Ahora mi pregunta es ¿cómo puedo sincronizar este cambio con mi filterAtom.time siempre que cambie timeRangeAtom ?

Una forma es configurar FilterAtom manualmente llamando a useRecoilState, pero parece un código bastante tedioso y duplicado. Así que no estoy seguro de que haya otras formas.

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

0

Puede crear un estado derivado de otros átomos usando la API selectora :

 export const filterAtom = selector({ key: 'filterAtom', get: ({get}) => { const timeRange = get(timeRangeAtom); return {time: [...timeRange]}; }, });
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