Type loss in createSelector
with inline function declarations passed as separate arguments
#666
Labels
createSelector
with inline function declarations passed as separate arguments
#666
Overview
When using
createSelector
from Reselect, I've encountered a rare edge case affecting TypeScript type inference. This issue arises specifically when passing input selectors as separate inline arguments composed of inline function declarations.Detailed Behavior
createSelector
works fine.createSelector
cause TypeScript to resolve the parameter types of the result function tounknown
.Reproduction
Here are the different scenarios for clarity:
✔️ Scenario 1 - Works Fine:
✔️ Scenario 2 - Works Fine:
❌ Problematic Scenario - Result Function Loses its Types:
Impact
Although this situation may not happen very often and this issue may not be common, it's important to document for those who might encounter it.
Workarounds
Several simple workarounds include:
createSelector
.Either one of these methods solves the problem.
Conclusion
This might be one of those issues that might eventually just go away as TypeScript gets better, but documenting it with potential workarounds can assist others potentially facing similar challenges.
The text was updated successfully, but these errors were encountered: