express-tsx-views
Version:
Server-side JSX/TSX rendering for your express or NestJS application 🚀
20 lines • 735 B
JavaScript
import React from 'react';
import ReactDOM from 'react-dom/server';
import { TsxRenderMiddleware } from './tsx-render.middleware.js';
/**
* All Concrete Handlers either handle a request or pass it to the next handler
* in the chain.
*/
export class DefaultTsxRenderMiddleware extends TsxRenderMiddleware {
createElement(context) {
context.element = React.createElement(context.component, context.vars);
return super.createElement(context);
}
async render(context) {
if (!context.isRendered && context.element) {
context.html = ReactDOM.renderToStaticMarkup(context.element);
}
return super.render(context);
}
}
//# sourceMappingURL=default-render.middleware.js.map