Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

164
Visualizações
Reaccionar con Redux, gran pérdida de rendimiento al obtener imágenes y configurarlas como parte de la porción de estado

Tengo una aplicación React, el estado se administra con Redux.

El usuario puede buscar un juego y una multitud de resultados, cuyos títulos coinciden vagamente con la consulta, aparecerán al enviar. Cada vez que el usuario ingresa otra consulta, los resultados anteriores son reemplazados por los nuevos.

Después de 5-6 búsquedas, la aplicación se ralentiza considerablemente. Después de la séptima búsqueda, deja de funcionar por completo y Chrome muestra un aviso de "página que no responde".

La porción redux se ve así:

 import { createSlice, createAsyncThunk } from '@reduxjs/toolkit'; import rawg from '../../apis/rawg'; const initialState = { results: [], }; export const fetchGames = createAsyncThunk( 'gamesSearch/fetchGames', async (query) => { const response = await rawg.get('/games', { params: { search: query, }, }); return response.data.results; } ); const gamesSearchSlice = createSlice({ name: 'gamesSearch', initialState, reducers: {}, extraReducers: { [fetchGames.fulfilled]: (state, action) => { const results = action.payload; const parsedResults = results.map((result) => { return { name: result.name, slug: result.slug, backgroundImage: result.background_image, genres: result.genres.map((genre) => genre.name).join(', '), id: result.id, released: result.released ? `${result.released.split('-')[2]}.${ result.released.split('-')[1] }.${result.released.split('-')[0]}` : null, }; }); }, }, }); export default gamesSearchSlice.reducer; export const selectResults = (state) => state.gamesSearch.results;

Y el componente desde el que se envía la búsqueda se ve así:

 import React, { useState } from 'react'; import { useDispatch } from 'react-redux'; import { fetchGames } from './gamesSearchSlice'; const SearchBar = () => { const [query, setQuery] = useState(''); const dispatch = useDispatch(); const onSubmit = (e) => { e.preventDefault(); if (!query) return; dispatch(fetchGames(query)); }; return ( <div className="searchbar"> <form onSubmit={onSubmit}> <input className="searchbar__input" type="text" placeholder="Search for a game..." value={query} onChange={(e) => setQuery(e.target.value)} /> </form> </div> ); }; export default SearchBar;

¿Me estoy perdiendo algún detalle sobre cómo funcionan juntos React y Redux, o hay algún problema con mi código desde una perspectiva fundamental (es decir, no estoy manejando los datos de manera suficientemente eficiente con JavaScript)?

about 4 years ago · Juan Pablo Isaza
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda