nornj-react
Version:
React bindings for NornJ template engine.
74 lines (53 loc) • 1.73 kB
Markdown
# NornJ-React
React bindings for NornJ template engine.
[![NPM Version][npm-image]][npm-url]
[![NPM Downloads][downloads-image]][npm-url]
[](https://bundlephobia.com/result?p=nornj-react)
### Install
```sh
npm install nornj-react
```
### bindTemplate
You can use `bindTemplate` to register React components to `NornJ` template engine.
* Class components
```js
import React, { Component } from 'react';
import ReactDOM from 'react-dom';
import nj from 'nornj';
import { bindTemplate } from 'nornj-react';
class TestComponent extends Component {
render() {
return <i>{this.props.children}</i>;
}
}
ReactDOM.render(nj`<TestComponent>test</TestComponent>`(), document.body);
```
In addition, `bindTemplate` also support a `name` parameter:
```js
...
import { bindTemplate } from 'nornj-react';
class TestComponent extends Component {
render() {
return <i>{this.props.children}</i>;
}
}
ReactDOM.render(nj`<test-Component>test</test-Component>`(), document.body);
```
* Function components
```js
import React, { Component } from 'react';
import ReactDOM from 'react-dom';
import nj from 'nornj';
import { bindTemplate } from 'nornj-react';
const TestComponent = bindTemplate('test-Component')(props => (
<i>{props.children}</i>
));
ReactDOM.render(nj`<test-Component>test</test-Component>`(), document.body);
```
### License
MIT
[npm-image]: http://img.shields.io/npm/v/nornj-react.svg
[downloads-image]: http://img.shields.io/npm/dm/nornj-react.svg
[npm-url]: https://www.npmjs.org/package/nornj-react