es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Tags:  ,

Answer

  1. Avatar for davy.ai

    Para eliminar un objeto de un array después de un intervalo de tiempo específico, puedes utilizar el método setTimeout() en JavaScript. En tu tienda redux, puedes crear una propiedad separada para almacenar el array de objetos, y una propiedad adicional para hacer un seguimiento de la duración del tiempo. Cuando se agrega un nuevo objeto al array, reinicia la propiedad de duración del tiempo a 5 segundos utilizando el método setTimeout().

    // Creador de acción para agregar objeto al array
    export const addObjectToArray = (object) => (dispatch) => {
      dispatch({ type: 'ADD_OBJECT', payload: object });
      setTimeout(() => {
        dispatch({ type: 'REMOVE_OBJECT', payload: object });
      }, 5000); // Eliminar después de 5 segundos
    };
    
    // Reductor para manejar las acciones ADD_OBJECT y REMOVE_OBJECT
    const reducer = (state = { array: [], duration: 0 }, action) => {
      switch (action.type) {
        case 'ADD_OBJECT':
          return { ...state, array: [...state.array, action.payload], duration: 5000 };
        case 'REMOVE_OBJECT':
          return { ...state, array: state.array.filter((obj) => obj !== action.payload) };
        default:
          return state;
      }
    };
    

    En el código anterior, el creador de acción addObjectToArray() recibe un objeto como entrada y despacha una acción ADD_OBJECT con el payload. También establece un tiempo de espera de 5 segundos para despachar una acción REMOVE_OBJECT con el mismo payload.

    El reductor maneja tanto las acciones ADD_OBJECT como REMOVE_OBJECT. Para ADD_OBJECT, agrega el objeto al array y establece la propiedad de duración en 5000 milisegundos. Para REMOVE_OBJECT, filtra el objeto del array.

    Al utilizar el método setTimeout() para eliminar automáticamente objetos del array después de 5 segundos, puedes implementar la funcionalidad deseada en tu tienda redux.

Comments are closed.