reduxjs/redux-toolkit
### [`v1.8.4`](https://togithub.com/reduxjs/redux-toolkit/releases/tag/v1.8.4)
[Compare Source](https://togithub.com/reduxjs/redux-toolkit/compare/1.8.3...v1.8.4)
This bugfix release adds exported TS types for RTKQ hooks for use in wrapping logic, adds `useDebugValue` to the hooks to improve display in the React DevTools, updates the inlined types for the Redux DevTools options, and fixes an issue in \`createEntityAdapter that could result in duplicate IDs being stored.
#### Changelog
##### RTKQ Hook Result Types
RTK's types heavily rely on inference to minimize the amount of type info users have to provide. However, this can also make it difficult to write functions that wrap calls to RTK APIs.
Some users have asked to have types that help them write "higher-order hooks". RTK now exports types that represent "the return object for a query/mutation hook with a given value": `TypedUseQueryHookResult` and `TypedUseMutationResult`. Both require `` as generics, like this:
```ts
const baseQuery = fetchBaseQuery({url: "https://some.server"});
type CustomHookResult = TypedUseQueryHookResult
const useMyCustomHook = (arg: MyArgObject) : CustomHookResult => {
return api.useGetSomeDataQuery(arg);
}
```
##### Redux DevTools Options Fixes
As of Redux DevTools 3.0, some of field names for custom DevTools options have changed to `actionsAllowlist` and `actionsDenylist`. Since we inline the types instead of having a separate dependency, we've updated our TS types to match that. No runtime behavior was changed.
##### Other Changes
RTKQ hooks now use `useDebugValue` to give a better preview of the current value in the React DevTools "Component" tab.
The `` component now does a better job of registering and cleaning up focus listeners.
Fixed a bug with `createEntityAdapter` that could allow duplicate IDs to be added depending on update parameters.
#### What's Changed
- fix: prevent duplicate ids when updating id of an element with the id of an existing element by [@samatar26](https://togithub.com/samatar26) in [https://github.com/reduxjs/redux-toolkit/pull/2020](https://togithub.com/reduxjs/redux-toolkit/pull/2020)
- ApiProvider: correctly register listeners, allow to disable listeners by [@phryneas](https://togithub.com/phryneas) in [https://github.com/reduxjs/redux-toolkit/pull/2277](https://togithub.com/reduxjs/redux-toolkit/pull/2277)
- Update devtools options TS types based on RDT 3.0 by [@markerikson](https://togithub.com/markerikson) in [https://github.com/reduxjs/redux-toolkit/pull/2480](https://togithub.com/reduxjs/redux-toolkit/pull/2480)
- fix: typo in unhandled error message by [@MichielTondeur](https://togithub.com/MichielTondeur) in [https://github.com/reduxjs/redux-toolkit/pull/2538](https://togithub.com/reduxjs/redux-toolkit/pull/2538)
- Use useDebugValue in useQuery and useMutation hooks by [@kaankeskin](https://togithub.com/kaankeskin) in [https://github.com/reduxjs/redux-toolkit/pull/2500](https://togithub.com/reduxjs/redux-toolkit/pull/2500)
- add types for manually typing hook results in userland code by [@markerikson](https://togithub.com/markerikson) in [https://github.com/reduxjs/redux-toolkit/pull/2580](https://togithub.com/reduxjs/redux-toolkit/pull/2580)
**Full Changelog**: https://github.com/reduxjs/redux-toolkit/compare/v1.8.3...v1.8.4
Configuration
π Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
π¦ Automerge: Disabled by config. Please merge this manually once you are satisfied.
β» Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
π Ignore: Close this PR and you won't be reminded about this update again.
[ ] If you want to rebase/retry this PR, click this checkbox.
This PR has been generated by Mend Renovate. View repository job log here.
This PR contains the following updates:
1.8.3
->1.8.4
Release Notes
reduxjs/redux-toolkit
### [`v1.8.4`](https://togithub.com/reduxjs/redux-toolkit/releases/tag/v1.8.4) [Compare Source](https://togithub.com/reduxjs/redux-toolkit/compare/1.8.3...v1.8.4) This bugfix release adds exported TS types for RTKQ hooks for use in wrapping logic, adds `useDebugValue` to the hooks to improve display in the React DevTools, updates the inlined types for the Redux DevTools options, and fixes an issue in \`createEntityAdapter that could result in duplicate IDs being stored. #### Changelog ##### RTKQ Hook Result Types RTK's types heavily rely on inference to minimize the amount of type info users have to provide. However, this can also make it difficult to write functions that wrap calls to RTK APIs. Some users have asked to have types that help them write "higher-order hooks". RTK now exports types that represent "the return object for a query/mutation hook with a given value": `TypedUseQueryHookResult` and `TypedUseMutationResult`. Both require `Configuration
π Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
π¦ Automerge: Disabled by config. Please merge this manually once you are satisfied.
β» Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
π Ignore: Close this PR and you won't be reminded about this update again.
This PR has been generated by Mend Renovate. View repository job log here.