react-templates/README.md

1.3 KiB

react-templates

Light weight templates for react. Reasons that we love it:

  • No runtime libraries. No magic. Just simple pre-compilation to a clear code
  • Super easy to write panels. By panels we mean components that have a lot of HTML code and non-reusable logic
  • Very good separation of presentation and logic. Almost no HTML within the component file
  • Declerative coding for presentation. HTML that you write and inspect look similar
  • Easy syntax. Similar to HTML. All IDEs recognize this format

How does it work

React templates compiles a *.rt file (react template - extended HTML format) into a javascript file. Currently, this file supports requirejs format, that will return a function. This function, when applied, will return a virtual react DOM (based on React.DOM elements and user custom components). A common use case would be that a React component would require a JS file generated by a template, and then call func.apply(this), causing the template to have the component as its context.

Basic concepts for react templates:

  • Any valid HTML is a template (and comments)
  • {} to identify JS execution context
  • rt-if
  • rt-repeat
  • rt-scope
  • rt-class
  • style
  • event handlers
  • doctype rt, require dependencies, and calling other components