Comments (2)
I did a first spike: it is definitely possible and easy enough: basically if the object assigned is of an anonymous type (like a local anonymous object or state/props typedefs), then the props and this object's fields (as defined in the anonymous type) can be assigned field by field.
Example:
var p = { title: 'bar', items: props.items };
return jsx('<Comp className="foo" {...p}/>');
// normally generated as:
return React.createElement(Comp, Object.assign({}, p, {className:"foo"}));
// could be optimized into:
return React.createElement(Comp, {className:"foo", title:p.title, items:p.items});
// and even further optimized by Haxe dce into
return React.createElement(Comp, {className:"foo", title:"bar", items:this.props.items});
However I'm suspecting it may have unwanted side effects (especially if I try to push it to merge state/props objects where lots of fields can be optional). Feedback? cc @francescoagati @zabojad @kevinresol @jeremyfa
from haxe-react.
You can try the spike in branch feature/merge_spreads
. It's limited to simple anonymous objects and it looks like it could be quite neat.
from haxe-react.
Related Issues (20)
- some like macro-components? HOT 1
- Remove Dynamic context field from ReactComponent HOT 4
- Macro - replaceEntities Unicode Issue
- [job] Haxe React Freelancers wanted
- readme.md refers to incorrect imports
- Unexpected use of 'self' no-restricted-globals HOT 5
- Loading a JS module from Haxe in the same project HOT 4
- Invalid escape sequence \u. UTF-16 surrogates are not allowed in strings HOT 4
- Inconsistent defaultProps behavior in debug / no debug mode HOT 8
- PureComponent: invalid number of type parameters HOT 2
- Cannot read property 'value' of undefined HOT 1
- is jsx not support array tag? HOT 3
- Using external jsx instead of inline one HOT 2
- No changes concerning react 16 in the haxelib library version HOT 3
- Functional components is shown as <Unknow>...</Unknow> in chrome dev tools HOT 10
- Fragment support react v16.2 HOT 4
- Wrong 'ReactDOM.createPortal' method annotation
- setState callback typing issue HOT 1
- Inline mode issue? HOT 6
- The lib doesn't work with haxe 4 preview HOT 5
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 haxe-react.