feat(reakit-system): Replace useCompose
by useComposeOptions
on createHook
#493
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
useCompose
kind of breaks the encapsulated composition approach ofcreateHook
. This PR replaces it byuseComposeOptions
, which will be called afteruseProps
and return options instead of calling the composed hooks directly.Also, it changes the order that composed
useOptions
are called. Before, they were being called after the current hookuseProps
, which didn't compose so well as it wouldn't have access to options modified by the composed hooks. Now composeduseOptions
are called right after the current hookuseOptions
, but beforeuseProps
. The current hookuseProps
now will receive theoptions
after they get proccessed by all composed hooks. It's necessary so the newId
module proposed on #492 will be able to pass a defaultid
orbaseId
option to other hooks composing it.Does this PR introduce a breaking change?
There's no breaking changes on the main package (
reakit
), butreakit-system
'screateHook
won't acceptuseCompose
anymore.createHook
'suseCompose
has been replaced byuseComposeOptions
.Before:
After: