Skip to content

Instantly share code, notes, and snippets.

@palcisto
Last active June 25, 2017 19:39
Show Gist options
  • Save palcisto/4bcf5f90c5289f4997d08603d6926adb to your computer and use it in GitHub Desktop.
Save palcisto/4bcf5f90c5289f4997d08603d6926adb to your computer and use it in GitHub Desktop.
basic react form
import { Component } from 'react';
import {
Firstname,
Middlename,
Lastname,
Suffix,
Title
} from './molecules';
const defaultProps = {
details: {
firstname: '',
middlename: '',
lastname: '',
suffix: '',
title: ''
},
...
};
class MyForm extends Component {
constuctor(props) {
this.state = this.getInitialState();
this.changeHandler.bind(this);
}
validate() {
// get validity of form
}
getInitialState() {
return Object.assign(defaultProps, this.props.details);
}
changeHandler(field, value) {
this.setState({[field]: value});
}
render() {
return (
<div>
<Title model={this.props.title} changeHandler={this.changeHandler} />
<Firstname model={this.props.firstname} changeHandler={this.changeHandler} required={true} />
<Middlename model={this.props.middlename} changeHandler={this.changeHandler} />
<Lastname model={this.props.lastname} changeHandler={this.changeHandler} required={true} />
<Suffix model={this.props.suffix} changeHandler={this.changeHandler} />
</div>
);
}
}
export default MyForm;
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment