Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Parity with recompose #23

Open
pfgray opened this issue Apr 4, 2019 · 0 comments
Open

Parity with recompose #23

pfgray opened this issue Apr 4, 2019 · 0 comments

Comments

@pfgray
Copy link
Owner

pfgray commented Apr 4, 2019

I'd like to have direct replacements for or at least an explanation of how one would emulate every hoc from recompose, as that library is so prevalent

I took a cursory glance at the documentation and came up with this graph:

emoji meaning
covered
🚧 feasible, not implemented yet
🤔 need to think on it
😧 😧
hoc explanation
mapProps() this is just cc.map(a => b)
withProps() this is just CC.of({})
🤔 withPropsOnChange()
🤔 withHandlers()
defaultProps() is just CC.of({})
renameProp() is just cc.map(a => b)
renameProps() is just cc.map(a => b)
flattenProp() is just cc.map(a => b)
withState()
🤔 withStateHandlers()
🚧 withReducer()
branch() is just fork()
renderComponent() is just fork(true ), maybe could add a special case?
renderNothing() is just fork(true, () => null
🚧 shouldUpdate()
pure() is just pure() … not sure this is a good one to promote, though?
onlyUpdateForKeys() is just pure()
🤷‍♀️ onlyUpdateForPropTypes()
🚧 withContext()
🚧 getContext()
lifecycle() withLifecycle()
😧 toClass()
toRenderProps()
fromRenderProps()

For the "handlers" hocs, I think it makes the most sense to just implement something like the useCallback hook, and then they are just different mappings/combinations of that chainable.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant