Title: Add React 19 hooks by i-am-the-slime · Pull Request #80 · purescript-react/purescript-react-basic-hooks · GitHub
Open Graph Title: Add React 19 hooks by i-am-the-slime · Pull Request #80 · purescript-react/purescript-react-basic-hooks
X Title: Add React 19 hooks by i-am-the-slime · Pull Request #80 · purescript-react/purescript-react-basic-hooks
Description: This PR adds bindings for the new React 19 hooks: useOptimistic, useActionState, and useEffectEvent. useOptimistic lets you show optimistic updates whilst an async action is running, and automatically reverts when the action completes. useActionState is useful for managing form submissions with built-in pending states. useEffectEvent extracts non-reactive logic from effects so you can access the latest props/state without causing the effect to re-run. I've also added Aff variants of useActionState (useAffActionState) to match the library's existing pattern with useAff and useAffReducer. Both the regular and Aff versions support an optional permalink parameter for progressive enhancement. This bumps React to 19.0.0 and updates the testing library accordingly. All existing tests still pass.
Open Graph Description: This PR adds bindings for the new React 19 hooks: useOptimistic, useActionState, and useEffectEvent. useOptimistic lets you show optimistic updates whilst an async action is running, and automatica...
X Description: This PR adds bindings for the new React 19 hooks: useOptimistic, useActionState, and useEffectEvent. useOptimistic lets you show optimistic updates whilst an async action is running, and automatica...
Opengraph URL: https://github.com/purescript-react/purescript-react-basic-hooks/pull/80
X: @github
Domain: github.com
| route-pattern | /:user_id/:repository/pull/:id/files(.:format) |
| route-controller | pull_requests |
| route-action | files |
| fetch-nonce | v2:136979f3-c225-e4d4-22ad-6a76e688c3cd |
| current-catalog-service-hash | ae870bc5e265a340912cde392f23dad3671a0a881730ffdadd82f2f57d81641b |
| request-id | B02C:F6058:167D7A0:1CF174B:6992539D |
| html-safe-nonce | 88bf829e2d44c456c996c9a5bd4a11426b247025f2b5641e40612efcec48a092 |
| visitor-payload | eyJyZWZlcnJlciI6IiIsInJlcXVlc3RfaWQiOiJCMDJDOkY2MDU4OjE2N0Q3QTA6MUNGMTc0Qjo2OTkyNTM5RCIsInZpc2l0b3JfaWQiOiI4NTI1NDc4NDg2MjU2ODAwNjY5IiwicmVnaW9uX2VkZ2UiOiJpYWQiLCJyZWdpb25fcmVuZGVyIjoiaWFkIn0= |
| visitor-hmac | c276e8db78061ceca3057eadc811616d273a1b1d659ae76b528f3720d287aeea |
| hovercard-subject-tag | pull_request:3233528857 |
| github-keyboard-shortcuts | repository,pull-request-list,pull-request-conversation,pull-request-files-changed,copilot |
| google-site-verification | Apib7-x98H0j5cPqHWwSMm6dNU4GmODRoqxLiDzdx9I |
| octolytics-url | https://collector.github.com/github/collect |
| analytics-location | / |
| fb:app_id | 1401488693436528 |
| apple-itunes-app | app-id=1477376905, app-argument=https://github.com/purescript-react/purescript-react-basic-hooks/pull/80/files |
| twitter:image | https://avatars.githubusercontent.com/u/1588055?s=400&v=4 |
| twitter:card | summary_large_image |
| og:image | https://avatars.githubusercontent.com/u/1588055?s=400&v=4 |
| og:image:alt | This PR adds bindings for the new React 19 hooks: useOptimistic, useActionState, and useEffectEvent. useOptimistic lets you show optimistic updates whilst an async action is running, and automatica... |
| og:site_name | GitHub |
| og:type | object |
| hostname | github.com |
| expected-hostname | github.com |
| None | 42c603b9d642c4a9065a51770f75e5e27132fef0e858607f5c9cb7e422831a7b |
| turbo-cache-control | no-preview |
| diff-view | unified |
| go-import | github.com/purescript-react/purescript-react-basic-hooks git https://github.com/purescript-react/purescript-react-basic-hooks.git |
| octolytics-dimension-user_id | 132099504 |
| octolytics-dimension-user_login | purescript-react |
| octolytics-dimension-repository_id | 165808163 |
| octolytics-dimension-repository_nwo | purescript-react/purescript-react-basic-hooks |
| octolytics-dimension-repository_public | true |
| octolytics-dimension-repository_is_fork | false |
| octolytics-dimension-repository_network_root_id | 165808163 |
| octolytics-dimension-repository_network_root_nwo | purescript-react/purescript-react-basic-hooks |
| turbo-body-classes | logged-out env-production page-responsive full-width |
| disable-turbo | true |
| browser-stats-url | https://api.github.com/_private/browser/stats |
| browser-errors-url | https://api.github.com/_private/browser/errors |
| release | 848bc6032dcc93a9a7301dcc3f379a72ba13b96e |
| ui-target | full |
| theme-color | #1e2327 |
| color-scheme | light dark |
Links:
Viewport: width=device-width