Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

198
Views
How to catch correct value in conditional in React.js?
const [
  MessageListDataProvider,
  useMessageListData
] = constate(() => {
  const [newValue, setNewValue] = useState({})

  const [messagePath, useMessagePath] = useState(api.UNRESOLVED_MESSAGES_PATH)
  const getMessagePath = (newPath) => {
    useMessagePath(newPath)
  }
  const {
    value,
    loading,
    error,
    retry: refresh
  } = useAsyncRetry(async () => {
    return api.fetchAllMessages(messagePath)
  }, [messagePath])

   if (value !== undefined) {
    console.log('value.messages', value.messages.length)
    if (!newValue[messagePath]) {
      console.log('newValue in conditional', newValue)
      setNewValue(oldObj => ({ ...newValue, [messagePath] : value.messages }))
    } 
  }
  console.log('newValue', newValue)
  return {
    newValue,
    getMessagePath,
    value,
    loading,
    error,
    refresh
  }
})

I am trying to store specific values from an API call in a separate object based different keys.

example:

newValue : {
    `/messages?limit=100&offset=0`: [{}, {}, {}],
    `/messages?status=Unresolved&limit=100&offset=0`: [{}, {}, {}, {}, {}],
}

Strangely, the key gets updated and added but not the array value???!

See below...

enter image description here

Any idea how I can—for a lack of a better idea "catch" that API array value?

about 4 years ago · Juan Pablo Isaza
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!