Comments (6)
I've just gotten the exact same error for the exact same reason. It would be really cool if we had support for Immutable.js since lots of people use it in their projects.
from rapscallion.
Have you tried calling “.toArray()” after “.map”, otherwise React will use immutable’s iterables which rapscallion probably doesn’t support
from rapscallion.
@philpl Sure, it worked. But since React supports Immutable lists, I would expect the same from Rapscallion.
from rapscallion.
To help my understanding of the changes involved, can someone point me to how React handles things or a pseudo-code diff of what the changes would involve to be immutable-compatible?
from rapscallion.
Hi @wayweary. Can you provide a reduced repro that I can work against? This should definitely be addressable, but it'll be easier if I start without having to recreate your broken experience. @Razem, feel free to jump in, too :)
from rapscallion.
@divmain Here is an example: https://github.com/Razem/rapscallion-immutable-test
As you can see, it can be successfully rendered using the ReactDOMServer.renderToString
method, but Rapscallion fails to recognize Immutable objects as iterables.
I believe the problem is somewhere in src/render/traverse.js.
Also note that since React 16, keys are also rendered for Immutable maps. Which is not happening in React 15. So {testMap.map((item, key) => (<span key={key}>{item} </span>))}
would actually render a<span>Hello </span>b<span>World </span>
instead of just <span>Hello </span><span>World </span>
. But since the Rapscallion is focused on React 15, it should probably render the output wihout the keys.
from rapscallion.
Related Issues (20)
- dangerouslySetInnerHTML fails with arrays
- BC break (regression?): injectDOMPropertyConfig HOT 5
- promise-based rendering. sometimes hangs HOT 9
- TypeError: (("document.querySelector.... is not a function HOT 2
- Invalid non-string/buffer chunk HOT 6
- [Help Needed] Integration with koa based server. HOT 5
- Unhandled rejection TypeError: Unknown node of type: undefined HOT 1
- Support middleware transforms
- Plan to migrate to react@16? HOT 5
- Build without Bluebird? HOT 5
- Warning: render(): Target node has markup rendered by React, but there are unrelated nodes as well. This is most commonly caused by white-space inserted around server-rendered markup. HOT 3
- Runaway promise error when using this library with Bluebird HOT 6
- Can I be of service with React 16? HOT 17
- can i use this with ie9?
- Issue with <select> tags - <select value=""> is not moved to <option selected>
- Async Cache Misses Render Empty or Out of Order HOT 5
- Promise not being Rejected on error? HOT 2
- Discrepancies in attributes rendering
- Is there a redux example for rapscallion? HOT 1
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 rapscallion.