ramitos/react-json-stream

View on GitHub
readme.md

Summary

Maintainability
Test Coverage
# react-json-stream

[![](https://img.shields.io/travis/ramitos/react-json-stream.svg)](https://travis-ci.org/ramitos/react-json-stream) [![](https://img.shields.io/codeclimate/coverage/github/ramitos/react-json-stream.svg)](https://codeclimate.com/github/ramitos/react-json-stream/coverage) [![](https://img.shields.io/npm/v/react-json-stream.svg)](https://www.npmjs.com/package/@ramitos/react-json-stream) [![](https://img.shields.io/david/ramitos/react-json-stream.svg)](https://david-dm.org/ramitos/react-json-stream) [![](https://img.shields.io/codeclimate/github/ramitos/react-json-stream.svg)](https://codeclimate.com/github/ramitos/react-json-stream) [![](https://img.shields.io/npm/l/react-json-stream.svg)](https://www.npmjs.com/package/@ramitos/react-json-stream)

## install

```bash
npm install --save react-json-stream
```

## example

```jsx
var JSON = require('jsonstream2');
var React = require('react-json-stream');


var App = React.createClass({
  getInitialState: function() {
    return {
      i: 0
    };
  },
  componentDidMount: function() {
    this.interval = setInterval(this.tick, 500);
  },
  componentWillUnmount: function() {
    clearInterval(this.interval);
  },
  tick: function() {
    this.setState({
      i: this.state.i + 1
    });
  },
  render: function() {
    return (<ul>
      <li key='my-li'>{this.state.i}</li>
    </ul>);
  }
});

var str = React.render(React.createElement(App));
str.pipe(JSON.stringify()).pipe(process.stdout);

setTimeout(function() {
  React.unmountComponentAtNode(str);
}, 2000);
```

```json
[{
  "children": [],
  "parent": "",
  "name": "ul",
  "id": ".0",
  "props": {},
  "content": null
}, {
  "children": [{
    "children": [],
    "parent": ".0",
    "name": "li",
    "id": ".0.$my-li",
    "props": {
      "key": "my-li"
    },
    "content": 1
  }],
  "parent": "",
  "name": "ul",
  "id": ".0",
  "props": {},
  "content": null
}, {
  "children": [{
    "children": [],
    "parent": ".0",
    "name": "li",
    "id": ".0.$my-li",
    "props": {
      "key": "my-li"
    },
    "content": 2
  }],
  "parent": "",
  "name": "ul",
  "id": ".0",
  "props": {},
  "content": null
}, {
  "children": [{
    "children": [],
    "parent": ".0",
    "name": "li",
    "id": ".0.$my-li",
    "props": {
      "key": "my-li"
    },
    "content": 3
  }],
  "parent": "",
  "name": "ul",
  "id": ".0",
  "props": {},
  "content": null
}]
```

## license

BSD-3-Clause