Generating a form
Reasoning
import * as fields from './fields'
/**
* Return the generated form based on the provided JSON
* that describes the fields of a form.
*/
function generateForm(props, fieldsJson) {
return (
<Form {...props}>
{generateFields(fieldsJson)}
</Form>
)
}
function generateFields(fieldsJson) {
return fieldsJson.map((fieldParams) => {
const { fieldType, ...props } = fieldParams
const Field = fields[fieldType]
return (
<Field {...props} />
)
})
}
export default GeneratedForm extends React.Component {
registerUser = ({ serialized }) => {}
render() {
const { fieldsJson } = this.props
return generateForm({
action: this.registerUser,
}, fieldsJson)
}
}Last updated