console.log(saveState) //IT RETURNS {user: {lat: -20.8213224, lng: -49.3581463}}
console.log(typeof saveState) //RETURNS "object"
console.log(JSON.stringify(saveState)) //RETURNS {"user":{}}
Why is it happening, what i'm doing wrong? I'm using Javascript
This is the code of the error: I'm trying to take states from localStorage, and send it to redux Storage. I'm coding in Next.JS + Redux
Codes below
app.tsx
import type { AppProps } from 'next/app'
import { localStorageKeys, storeWrapper } from '../store'
import { Provider } from 'react-redux'
import { useEffect } from 'react'
import { userUpdate } from '../store/actions/users'
import GlobalStyle from '../styles/global'
import { Navbar } from '../components/Navbar'
import CategorySelector from '../components/CategorySelector'
import Head from 'next/head'
function App({ Component, pageProps }: AppProps) {
  const {store, props} = storeWrapper.useWrappedStore(pageProps)
  useEffect(()=>{
    let state: any = localStorage.getItem(process.env.NEXT_PUBLIC_STORAGE_KEY||"")
   
    if(state){
        try{
            state = JSON.parse(state)
            if(state.user){
              if(!state.user.lat || !state.user.lng){
                navigator.geolocation.getCurrentPosition((pos)=>{
                  state.user.lat = pos.coords.latitude;
                  state.user.lng = pos.coords.longitude;
                })
              }
            }
            else{
              navigator.geolocation.getCurrentPosition((pos)=>{
                state.user.lat = pos.coords.latitude;
                state.user.lng = pos.coords.longitude;
              })
            }
            
        }catch{
            state = {}
        }
    }else{
        state = {}
        state.user = {}
        
        navigator.geolocation.getCurrentPosition((pos)=>{
          state.user.lat = pos.coords.latitude,
          state.user.lng = pos.coords.longitude
        })
    }
    Object.entries(localStorageKeys).map((val, index)=>{
      const [ref, key] = val
      if(state[ref]){
        switch(ref){
          case 'user':
            store.dispatch(userUpdate(state[key]))
            break
          default:
            break
        }
      }
    })
  })
  return (
    <Provider store={store}>
      <GlobalStyle />
      <Navbar />
      <CategorySelector />
      <Component {...pageProps} />
    </Provider>
  )
}
export default App
Here is the function that isn't working well, when I'm trying to convert the state to string to save, it returns nothing, but when it is in object type, it returns lat and lng properly saveState.ts
export const saveState = (key: string, value: any) => {
    let state: any = localStorage.getItem(keyName)
    console.log("SAVE", key, value)
    if(state){
        try{
            state = JSON.parse(state)
        }catch{
            state = {}
        }
    }else{
        state = {}
    }
    state[key] = value
    const saveState = state
    console.log(saveState)
    console.log(typeof saveState)
    console.log(JSON.stringify({saveState}))
    
    localStorage.setItem(keyName, JSON.stringify(state))
}
I really dont know what to do
