09:30 [202] KEYNOTE, DHH
10:30 [L2] BREAK
11:00 [202] Prying Open The Black Box, Godfrey Chan
11:50 PASS
12:30 [L3] EXHIBIT HALL
Hi Nicholas,
I saw you tweet about JSX yesterday. It seemed like the discussion devolved pretty quickly but I wanted to share our experience over the last year. I understand your concerns. I've made similar remarks about JSX. When we started using it Planning Center, I led the charge to write React without it. I don't imagine I'd have much to say that you haven't considered but, if it's helpful, here's a pattern that changed my opinion:
The idea that "React is the V in MVC" is disingenuous. It's a good pitch but, for many of us, it feels like in invitation to repeat our history of coupled views. In practice, React is the V and the C. Dan Abramov describes the division as Smart and Dumb Components. At our office, we call them stateless and container components (view-controllers if we're Flux). The idea is pretty simple: components can't
// ---- | |
// libsass (v3.2.5) | |
// ---- | |
/* fighting bem */ | |
/* a simple todo-list. B, E, no M */ | |
.todo-item { color: #eee } | |
.todo-item__mark { content: '*' } |
// ---- | |
// libsass (v3.2.5) | |
// ---- | |
/* fighting bem */ | |
/* a simple todo-list. B, E, no M */ | |
.todo-item { color: #eee } | |
.todo-item__mark { content: '*' } |
<!DOCTYPE html> | |
<html> | |
<head> | |
<meta charset="utf-8" /> | |
<title>React 0.14 Boilerplate</title> | |
<script src="https://cdnjs.cloudflare.com/ajax/libs/react/0.14.3/react.js"></script> | |
<script src="https://cdnjs.cloudflare.com/ajax/libs/react/0.14.3/react-dom.js"></script> | |
<script src="https://cdnjs.cloudflare.com/ajax/libs/babel-core/5.8.23/browser.min.js"></script> | |
</head> | |
<body> |
In reply to @ericclemmons: https://twitter.com/ericclemmons/status/681654609622908928.
Article context: https://medium.com/@ericclemmons/javascript-fatigue-48d4011b6fc4#.rzwz221k3
Eric,
Thanks for hitting me up with clarification.
My message was not intended as an attack on you or your post. Articles titled like yours have a tendency to take a life of their own. The bulk of my reaction was to the title itself and the resulting conversation.
<Button type="button" className="btn btn--primary"> | |
<PrimaryBtn> |
const PrimaryBtn = ({ | |
className, | |
...props | |
}) => | |
<Btn | |
className={classNames("btn--primary", className)} | |
{...props} | |
/> | |
import React, { Children, Component } from 'react'; | |
import ReactDOM from 'react-dom'; | |
class SetOverflowHidden extends Component { | |
componentDidMount() { | |
this.previousOverflow = document.body.style.overflow | |
document.body.style.overflow = "hidden" | |
} | |
componentWillUnmount() { |