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

179
Visualizações
No se pueden obtener datos de la matriz de objetos | React.js - openweatherAPI

Obtengo datos de openweatherAPI usando el kit de herramientas react-redux. Puedo obtener el nombre pero cuando quiero obtener main.temp da un error

typeError: no se pueden leer las propiedades de undefined (leyendo 'temp')

 export const fetchDefault = createAsyncThunk('weather/getWeather', async (selectedCity) => { const res = await axios(`https://api.openweathermap.org/data/2.5/weather?q=${selectedCity}&appid=6d735f036884219e3a12eeb6f7bf6f93`) return res.data});

ExtraReductores

 [fetchDefault.fulfilled]: (state , action) => { state.item = action.payload; console.log(state.item) },

Funciona si return res.data.main pero esta vez no puedo obtener el nombre.

índice.js

 const getCity = useSelector((state) => state.weather.item); {getCity.main.temp} // Gives Error..

La matriz se ve así ...

 { "weather": [ { "id": 802, "main": "Clouds", "description": "scattered clouds", } ], "main": { "temp": 300.15, "pressure": 1007, "humidity": 74, "temp_min": 300.15, "temp_max": 300.15 }, "wind": { "speed": 3.6, "deg": 160 "id": 2172797, "name": "Cairns", "cod": 200 }
about 4 years ago · Juan Pablo Isaza
1 Respostas
Responde à pergunta

0

Su reductor guarda action.payload en state.item , por lo que creo que useSelector debería devolver state.item.name para getCity (suponiendo que desea acceder al nombre de la ciudad con ese selector).

Alternativamente, puede crear un selector para state.item y acceder a todo a través de eso.

Por cierto, su reductor debería devolver un valor, por lo que suponiendo que el estado era un objeto inicialmente, debería verse así:

 [fetchDefault.fulfilled]: (state , action) => { return {...state, item: action.payload} },
about 4 years ago · Juan Pablo Isaza Relatório
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