This lets you pass Promises from server components to client components and `use()` them there. We still don't support Promises as children on the client, so we need to support both. This will be a lot simpler when we remove the need to encode children as lazy since we don't need the lazy encoding anymore then. I noticed that this test failed because we don't synchronously resolve instrumented Promises if they're lazy. The second fix calls `.then()` early to ensure that this lazy initialization can happen eagerly. ~It felt silly to do this with an empty function or something, so I just did the attachment of ping listeners early here. It's also a little silly since they will ping the currently running render for no reason if it's synchronously available.~ EDIT: That didn't work because a ping might interrupt the current render. Probably need a bigger refactor. We could add another extension but we've already taken a lot of liberties with the Promise protocol. At least this is one that doesn't need extension of the protocol as much. Any sub-class of promises could do this. |
||
|---|---|---|
| .. | ||
| esm | ||
| npm | ||
| src | ||
| README.md | ||
| client.js | ||
| index.js | ||
| node-register.js | ||
| package.json | ||
| plugin.js | ||
| server.browser.js | ||
| server.js | ||
| server.node.js | ||
README.md
react-server-dom-webpack
Experimental React Flight bindings for DOM using Webpack.
Use it at your own risk.