Comments (4)
There are other attributes React includes as well that are required for full compatibility. Specifically data-reactroot
and data-reactid
.
from rapscallion.
Also, the checksum is calculated from the final markup, making it difficult (impossible?) to actually efficiently stream (as its being processed) the correct response since the first chunk would contain data that requires all the markup to be parsed already.
from rapscallion.
I've been considering this, and here are my thoughts:
- With Rapscallion, the checksum is not known until all rendering has completed.
- If streaming, the root element has already made it to the client by the time the checksum can possibly be generated.
- Fortunately, the checksum is not needed on the client until the DOM has completed loading and React is bootstrapped.
- If the checksum were sent down in some format (global var wrapped in
<script
> tag, or attached to the DOM as adata-
attribute somewhere), that value could be retrieved by the bootstrap code and attached to the corresponding DOM element.
It's a bit round-about, but it is the only way I can think of to make this happen. And if we provide a nice utility to easily inject this information into the DOM, and possibly even mutate the DOM by injecting a script that takes care of everything for you, then it becomes a very much smaller downside.
from rapscallion.
@divmain we can at least implement this with renderToString
since it is buffered. PR incoming.
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
- It doesnt seem to work with ImmutableJS HOT 6
- 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.