react-jsonschema-form
![Build Status](https://travis-ci.org/mozilla-services/react-jsonschema-form.svg)
A simple React component capable of building
forms from a JSON schema.
Requires React 0.14+.
Installation
As a npm-based project dependency:
$ npm install react-jsonschema-form --save
As a script dependency served from a CDN:
<script src="https://npmcdn.com/react-jsonschema-form@0.1.0/dist/react-jsonschema-form-0.1.0.js"></script>
Source maps are available at this url.
Note that the CDN version does not embed react nor react-dom.
Usage
import React, { Component } from "react";
import { render } from "react-dom";
import Form from "react-jsonschema-form";
const schema = {
title: "Todo Tasks",
type: "object",
required: ["title"],
properties: {
title: {type: "string", title: "Title", default: "A new task"},
done: {type: "boolean", title: "Done?", default: false}
}
};
const formData = {
title: "First task",
done: true
};
const log = (type) => console.log.bind(console, type);
render((
<Form schema={schema}
formData={formData}
onChange={log("changed")}
onSubmit={log("submitted")}
onError={log("errors")} />
), document.getElementById("app"));
Development server
$ npm start
A Cosmos development server showcasing
components with hot reload enabled is available at
localhost:8080.
Tests
$ npm test
TDD
$ npm run tdd
License
Apache 2