0

Please help me figure out with mysterious behaviour. So i'm getting data from firebase:

useEffect(() => {
    if(category && typeof category.id !== undefined){
      const paramsObject = {}
      db.collection(`dictionaries/ESTATE_PARAMS/${estateType}/${category.id}/params`).onSnapshot(params => {
        params.docs.map(param => paramsObject[param.id] = param.data())
      })
      const paramFields = convertParamObjetcToFields(paramsObject)
      // setParams(paramFields)
      // setIsLoading(false)
    }
  }, [category])

onSnapshot im saving all docs as object properties to my paramsObject. Afterl loop , if i console.log(paramsObject) im getting:

enter image description here

I want to parse paramsObject and return modification of object in other func. Thats why im doing: const paramFields = convertParamObjetcToFields(paramsObject)

In function convertParamObjectToFields

const convertParamObjetcToFields = paramsObject => {
    const Fields = {}
    console.log(paramsObject) //here i'm getting object!
  for (const key in paramsObject) {
    console.log(key) //NOTHING!!! WHY????!
    // switch (paramsObject[key].input) {
    //   case 'text':
    //     {
    //       Fields[key] = createField('input', 'text', paramsObject[key].label, paramsObject[key].mask)
    //     }
    //     break
    //   case 'checkbox':
    //     {
    //       Fields[key] = createCheckbox(paramsObject[key].label)
    //     }
    //     break
    //   default:
    //     Fields[key] = createField('input', 'text', paramsObject[key].label, paramsObject[key].mask)
    // }
  }

  return Fields
}

i have some mistic!! i cant parse my object. even i cant dive into loop, cause i cant see any console.log from that func in loop. WHY?

Dharman
  • 30,962
  • 25
  • 85
  • 135
WhoIsDT
  • 695
  • 2
  • 9
  • 27

0 Answers0