Skip to main content

Reload app on useRecordActionData hook

  • May 26, 2021
  • 3 replies
  • 43 views

Forum|alt.badge.img+2

I’ve built a custom app which has functionality to both use it in the sidebar or have it triggered when you press a button field. I’d like to force the app to reload any time the useRecordActionData hook detects a change. How would I go about pinning that kind of functionality to the hook?

I’m trying to reset all the various React states whenever there’s new info from the hook.

This topic has been closed for replies.

3 replies

Kamille_Parks11
Forum|alt.badge.img+27

regular ol’ useEffect() could do it.

useEffect(() => {
   setState(...)
}, [recordActionData.recordId])

Forum|alt.badge.img+2
  • Author
  • Known Participant
  • May 26, 2021

regular ol’ useEffect() could do it.

useEffect(() => {
   setState(...)
}, [recordActionData.recordId])

Brilliant. I’m new to React so I love learning some “goole 'ole” tricks. Thank you!


Forum|alt.badge.img+2
  • Author
  • Known Participant
  • May 27, 2021

Brilliant. I’m new to React so I love learning some “goole 'ole” tricks. Thank you!


I’m still having some trouble here. useEffect() is great for resetting the states, but it’s not helpful for resetting the UI after a second button click.

This is working:

  • User can fill out form when opening the app from the sidebar
  • User can click a button field to trigger recordActionData to pre-fill some of the fields in the form with the selected record.

What’s not working:

  • If the user has already clicked the button field, clicking the button field on a second record doesn’t pre-fill the fields with the second record’s info. The UI is stuck on the first record’s data.

I realize this is because useEffect() runs its logic after the app renders. It seems like updates to useRecordActionData() don’t force the components to re-render.

How can I get updated data into the UI before a re-render every time the recordActionData is updated?