You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
Francisco Presencia fb7da28945 Allow any child node type (#10) 5 years ago
src Allow any child node type (#10) 5 years ago
test Allow any child node type (#10) 5 years ago
.gitignore Initial commit 7 years ago
.travis.yml JSDOM only supports Node 6 and up so that;s all we can support 7 years ago
LICENSE Initial commit 7 years ago
README.md Improve usage example 7 years ago
package.json 3.0.0 6 years ago

README.md

react-jsdom

Render React components to actual DOM nodes in Node.js

Build Status Coverage Status npm

Makes testing simple React components super easy with any Node.js test framework.

Install

npm install --save-dev react-jsdom

Usage

const React = require('react');
const ReactJSDOM = require('react-jsdom');

class Hi extends React.Component {
  render() {
    return (
      <div>
        <span>hi</span>
        <span>{this.props.person}</span>
      </div>
    );
  }

  componentDidMount() {
    console.log('I mounted!');
  }
}

const elem = ReactJSDOM.render(<Hi person="mum"/>);
// console: 'I mounted!'

elem.constructor.name
// 'HTMLDivElement'
elem.nodeName;
// 'DIV');
elem.querySelector('span:last-child').textContent;
// 'mum'
elem.outerHTML;
// <div>
//   <span>hi</span>
//   <span>mum</span>
// </div>

License

MIT © Luke Childs