Skip to content

Instantly share code, notes, and snippets.

@dmoss18
Last active July 2, 2018 18:25
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save dmoss18/8c85493ed1917cb7ce289876362b1c94 to your computer and use it in GitHub Desktop.
Save dmoss18/8c85493ed1917cb7ce289876362b1c94 to your computer and use it in GitHub Desktop.
Better pattern for updating model
// This way is needlessly verbose
export default class CustomerNameComponent {
customer = new Customer()
// Annoying boilerplate
updateCustomerName = (text: string) => {
this.customer.name = text
}
render() {
return (
<TextInput onChangeText={this.updateCustomerName} />
)
}
}
// Instead, use the `updateField` helper so you don't need a new function for every input
import { updateField } from 'lib/meta'
export default class CustomerNameComponent {
customer = new Customer()
render() {
return (
<TextInput onChangeText={updateField(this.customer, 'name')} />
)
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment