Skip to content

Instantly share code, notes, and snippets.

View tpetrina's full-sized avatar
🐜
ant is a hard-working bug. be like ant queen - spawn more workers!

Toni Petrina tpetrina

🐜
ant is a hard-working bug. be like ant queen - spawn more workers!
View GitHub Profile
@tpetrina
tpetrina / register.js
Created September 26, 2017 14:49
React form complication 5
let registration = {
username: "username",
password: "password",
isRegistering: false,
onRegister: r => {
r.isRegistering = true
setTimeout(() => {
r.isRegistering = false
}, 2000)
@tpetrina
tpetrina / wrap.js
Last active September 26, 2017 14:53
React form complication 6
componentWillMount() {
let proxy = {}
for (var i in this.state) {
if (typeof this.state[i] === "function") {
this.foos[i] = state[i].bind(null, proxy)
} else {
let key = i
Object.defineProperty(proxy, key, {
set: value => this.setState({ [key]: value }),
@tpetrina
tpetrina / register.js
Created September 26, 2017 14:56
React form complication 7
let registration = {
// ommitted for brevity
setUsername: (r, e) => {
let value = e.target.value
value = value.replace("-", "")
r.username = value
}
}
@tpetrina
tpetrina / hoc.jsx
Last active September 26, 2017 15:01
React form complication 8
const hoc = Wrapped =>
class extends React.Component {
render() {
// pass props from parent to the wrapped component
return <Wrapped {...this.props} />
}
}
// usage:
const WrappedComponent = hoc(SomeComponent)