v2.4.0 #325
markerikson
started this conversation in
General
v2.4.0
#325
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
This very overdue release makes several major improvements to the TypeScript types, and converts the actual source to TypeScript. Sorry for the delay!
Changelog
TypeScript Improvements
This release fixes several outstanding issues that had been reported with the types. An extra overload has been added to let TS correctly understand some generically-typed values being passed to
dispatch
, and the overloads have been reworked for additional compatibility.There's also a new
ThunkActionDispatch
type that can be used to represent howbindActionCreators
turns bound thunks into(arg) => thunkReturnValue
.Additionally, all of the generic args have been giving meaningful names instead of one-letter abbreviations (
S
->State
,E
->ExtraArgument
, etc), and we've added descriptive comments in the type definitions for clarity.Optional Global
Dispatch
Type ExtensionMost Redux apps have the thunk middleware enabled, but the default
Dispatch
andbindActionCreator
types only know about the standard behavior of a basic Redux store without any middleware. The thunk middleware types add to that type behavior, so thatDispatch
knows dispatching a thunk can actually return a value such as a Promise.We generally recommend inferring the type of
dispatch
and using that to create reusable types, including creating pre-typed hooks. However, some users may prefer to globally augment theDispatch
type to always use the additional thunk behavior.You can now
import 'redux-thunk/extend-redux'
to globally augment theDispatch
type as an opt-in change in behavior.Codebase Converted to TypeScript
We've gone ahead and converted the actual source to TS. Since the source was only 15-ish lines to begin with, most of the "conversion" time was just trying to convince TS that assigning
thunk.extraArgument = createThunkMiddleware
was a legal operation :)We also updated the build tooling:
Finally, the README has been updated with newer instructions and usage information.
What's Changed
applyMiddleware
by @iamandrewluca in docs: fix link forapplyMiddleware
#279|
by @Philipp91 in Remove redundant|
#317New Contributors
Full Changelog: v2.3.0...v2.4.0
This discussion was created from the release v2.4.0.
Beta Was this translation helpful? Give feedback.
All reactions