liform-react
Library for generating React forms from JSON schema using the fantastic redux-form.
https://limenius.github.io/liform-react/
Installation
npm install liform-react --save
Basic usage
import React from 'react';
import ReactDOM from 'react-dom';
import { createStore, combineReducers } from 'redux';
import { reducer as formReducer } from 'redux-form';
import { Provider } from 'react-redux';
import Liform from 'liform-react';
const reducer = combineReducers({
form: formReducer
})
var schema = {
"title":"my form",
"properties":
{
"name": { "type":"string","title":"Model", "default": "Ziummmm"},
"description": { "type":"string", "title": "Description", "widget": "textarea" }
},
"required":["name"]};
const store = (window.devToolsExtension ? window.devToolsExtension()(createStore) : createStore)(reducer)
const showResults = values => {
window.alert(`You submitted:\n\n${JSON.stringify(values, null, 2)}`)
}
const dest = document.getElementById('form-holder')
ReactDOM.render(
<Provider store={store}>
<Liform schema={schema} onSubmit={showResults}/>
</Provider>,
dest
)
And, provided that you have a <div id="form-holder">
, you should see something like this:
Running the Examples
To run the examples in doc/pages/examples
, clone this repository, then run:
npm install
webpack
cd doc/pages/examples/simple # (for instance)
node server.js
Material UI
There is a promising work on a theme for Material UI done by samuelbriole