Comments (6)
I've been thinking more about this lately. mapPropsOnChange()
is supposed to address this, but it's not clear from the documentation.
from recompose.
I think we should rename mapPropsOnChange()
so it's clearer what it actually does. Perhaps mapDependentProps()
?
from recompose.
Yes I use mapPropsOnChange
for this,
look's like current version of mapPropsOnChange
is my favorite HOC now :-)
(I almost finished independent of svg libs chart component http://recordit.co/xXaSy4WM2W using just recompose and functional components,
and mapPropsOnChange is super useful for such component)
About name, I like both :-)
from recompose.
Another idea:
import { Component } from 'react'
import createElement from './createElement'
import createHelper from './createHelper'
const withAttachedProps = (createProps, BaseComponent) =>
class extends Component {
attachedProps = createProps(() => this.props)
render() {
return createElement(BaseComponent, {
...this.props,
...this.attachedProps
})
}
}
export default createHelper(withAttachedProps, 'withAttachedProps')
createProps()
is called once, and the returned object (this.attachedProps
) never changes.
Example:
const IncrementButton = withAttachedProps(
getProps => ({
onClick: event => getProps().dispatch({ type: INCREMENT })
}),
'button'
)
from recompose.
Yes it's better than mapPropsOnChange(['dispatch'], ...
from recompose.
Thank You!!!!
#81
from recompose.
Related Issues (20)
- renderNothing should export Nothing HOT 4
- Does TypeScript 3.4 enable typing of compose HOT 1
- Remove flow types in repo and support only in flow-typed repo HOT 1
- Key advantages in Docs HOT 2
- The best way to test a component that use getContext recompose HOT 1
- Get a lifecycle componentDidMount unmounted error HOT 1
- Rewriting mapPropsStream with Hooks or new Lifecycle Methods HOT 4
- compose hoc causes to lose typings
- Remove usage of `createFactory` HOT 4
- Why does `mapProps` remove `children`? HOT 2
- node-fetch vulnerability issue (denial of service) HOT 8
- Forked, Updated, and Published HOT 1
- fbjs dependency still present in lock file HOT 3
- Support React 17 HOT 2
- Suggest alternative to branch(), renderComponent(), renderNothing(), compose(), etc
- TypeError: Cannot read properties of undefined (reading 'apply')
- Error: Element type is invalid: expected a string (for built-in components) or a class/function (for composite components) but got: undefined. You likely forgot to export your component from the file it's defined in, or you might have mixed up default and named imports.
- New patch required to mitigate high risk vulnerability
- Maintainers HOT 1
- This is GITHUB and not the European Parliament or NATO.
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from recompose.