Comments (3)
Just discussed this over at the Rum issue tracker :)
Would be really nice to be able to refer to a React component class in place of a symbol. Something like [js/MyReactComponent {} ...]
, just as simple as [:div {} ...]
.
Currently, you have to do something like this:
(js/React.createElement js/MyComponent
#js { }
(sablono.core/html [:div [:p "Hello, world"]]))
Which is a whole lot more cumbersome.
I can try to write up a PR if you would consider something like that!
from sablono.
Hi @dum3ng,
this has been asked a couple of times before. I'm not keen on extending the Sablono/Hiccup language with something like this at the moment, since it adds a lot more complexity. My main concern with something like this is server side rendering.
For now, I would suggest to wrap this in a function if you use this a lot.
We can revisit this later.
from sablono.
Hi @augustl ,
I didn't add this yet, because of server side rendering. How would that work? The only solution I had in mind so far is emitting a blank div or something like that.
Give it a try, but please keep the server side rendering in mind. Server side rendering is done via om.next at the moment, but since not much is happening with om.next I thought about borrowing that code and remove that dependency (which causes some problems already).
r0man
from sablono.
Related Issues (20)
- Self-host compat? HOT 1
- Regression: wrapped select doesn't render child elements properly HOT 3
- build-all breaks in simple/advanced compilation HOT 3
- Input not controlled when value and on-change specified. HOT 30
- :style maps kebab-case to CamelCase automatic conversion only works with literals? HOT 4
- Add test for symbol resolution in map keys HOT 1
- How to clear a HTML input element? HOT 4
- Are non-breaking spaces supported? HOT 2
- :npm-deps compat HOT 4
- sablono doens't work in a bootstrapped cljs environment HOT 3
- Now that React 16 has been released can we release a new version of sablono? HOT 13
- `map` inside `for` results in rendered components that don't re-render HOT 1
- Add support for more forms (e.g. `when`) HOT 7
- Checkbox inputs don't update "checked" value on rerender HOT 3
- Add cljs.core.Repeat to IInterpreter
- `case` fails when `nil`s are present
- Nested class sequences are not flattened
- js/React is deprecated and makes it hard for folks to use npm react HOT 2
- Docs?
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 sablono.