Slide 100
Slide 100 text
export default class SubmissionForm extends React.Component {
state = {
fields: {
speakerName: '',
speakerEmail: '',
talkTitle: '',
talkDescription: '',
talkLength: '15',
},
isSumitting: false,
};
static childContextTypes = {
formState: React.PropTypes.object.isRequired,
formHandleChange: React.PropTypes.func.isRequired,
};
getChildContext() {
return {
formState: this.state,
formHandleChange: this.handleChange,
};
}
render() {
return (
Speaker
Talk
Submit
);
}
handleChange = (e) => {
const name = e.target.name;
const value = e.target.value;
const fields = {
...this.state.fields,
[name]: value
};
this.setState({ fields });
};
handleSubmit = async (e) => {
e.preventDefault();
if (this.state.isSubmitting) {
return;
}
this.setState({ isSubmitting: true });
await remoteCall(this.state.fields);
};
}