Installation

Getting Started with $render

$render makes JSX possible in the browser without a virtual DOM. $render JavaScript components with the speed of light in script tags, and esModules.

It's intuitive, super fast and flexible.

Installation

You can check out LovePlay music player (opens in a new tab) if you want to see $render in action with script tags in the real world. It even has swiping and downloading capability.

Add $render with a script.

<!doctype html> <html>  <head>  <meta charset="UTF-8">  <meta name="viewport" content="width=device-width, initial-scale=1.0">  </head>  <body>  <div id="root"></div>    <script src="https://cdn.jsdelivr.net/npm/@codingnninja/render/dist/umd/bundle.min.js"></script>  </body> </html>

Add JSX

  • Add JSX inline
<!DOCTYPE html> <html>  <head>  <meta charset="UTF-8" />  <meta name="viewport" content="width=device-width, initial-scale=1.0" />  </head>  <body>  <div id="root"></div>  <script src="https://cdn.jsdelivr.net/npm/@codingnninja/render/dist/umd/bundle.min.js"></script>  <script>  const { $render } = render;  const Counter = (count = 0) => {  return `  <div id="counter">  <button   onClick="$render(Counter, ${count + 1})"   style="height:30px; width:100px">Count is ${count}  </button>  </div>  `;  };  $render(Counter);  </script>  </body> </html>
  • Count live
  • Add JSX via a link (app.js)
<html>  <head>  <meta charset="UTF-8">  <meta name="viewport" content="width=device-width, initial-scale=1.0">  </head>  <body>  <div id="root"></div>  <script src="https://cdn.jsdelivr.net/npm/@codingnninja/render/dist/umd/bundle.min.js"></script>  <script src="app.js"></script>  </body> </html>

app.js content:

const {$render} = render;   const Counter = (count = 0) => {  return `  <div id="counter">  <button   onClick="$render(Counter, ${count + 1})"   style="height:30px; width:100px">Count is ${count}  </button>  </div>  `; }; $render(Counter);