A RetroSearch Logo

Home - News ( United States | United Kingdom | Italy | Germany ) - Football scores

Search Query:

Showing content from https://github.com/EasyWebApp/DOM-Renderer below:

EasyWebApp/DOM-Renderer: A light-weight DOM Renderer supports Web components standard & TypeScript language.

A light-weight DOM Renderer supports Web components standard & TypeScript language.

import { DOMRenderer, VNode } from 'dom-renderer';

const newVNode = new DOMRenderer().patch(
    new VNode({
        tagName: 'body',
        node: document.body
    }),
    new VNode({
        tagName: 'body',
        children: [
            new VNode({
                tagName: 'a',
                props: { href: 'https://idea2.app/' },
                style: { color: 'red' },
                children: [new VNode({ text: 'idea2app' })]
            })
        ]
    })
);
console.log(newVNode);
Async Rendering (experimental)
import { DOMRenderer, VNode } from 'dom-renderer';

-const newVNode = new DOMRenderer().patch(
+const newVNode = new DOMRenderer().patchAsync(
    new VNode({
        tagName: 'body',
        node: document.body
    }),
    new VNode({
        tagName: 'body',
        children: [
            new VNode({
                tagName: 'a',
                props: { href: 'https://idea2.app/' },
                style: { color: 'red' },
                children: [new VNode({ text: 'idea2app' })]
            })
        ]
    })
);
-console.log(newVNode);
+newVNode.then(console.log);

{
    "compilerOptions": {
        "jsx": "react-jsx",
        "jsxImportSource": "dom-renderer"
    }
}
import { DOMRenderer } from 'dom-renderer';

const newVNode = new DOMRenderer().render(
    <a href="https://idea2.app/" style={{ color: 'red' }}>
        idea2app
    </a>
);
console.log(newVNode);
Async Rendering (experimental)
import { DOMRenderer } from 'dom-renderer';

const newVNode = new DOMRenderer().render(
    <a href="https://idea2.app/" style={{ color: 'red' }}>
        idea2app
-    </a>
+    </a>,
+    document.body,
+    'async'
);
-console.log(newVNode);
+newVNode.then(console.log);
import { DOMRenderer } from 'dom-renderer';

const renderer = new DOMRenderer();

const Hello = () => <h1>Hello, JSX SSR!</h1>;

export const generateStream = () => renderer.renderToReadableStream(<Hello />);
import { Readable } from 'stream';
import { createServer } from 'http';
import 'dom-renderer/polyfill';

import { generateStream } from './view';

createServer((request, response) => {
    const stream = generateStream();

    Readable.fromWeb(stream).pipe(response);
}).listen(8080);


RetroSearch is an open source project built by @garambo | Open a GitHub Issue

Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo

HTML: 3.2 | Encoding: UTF-8 | Version: 0.7.4