         (.attr "height" (fn [d] (.-size d))))
     (-> selection
         .exit
-        (.transition)
+        .transition
         (.style "opacity" "0")
-        (.remove))
+        .remove)
     false))
 
 (defui D3Thing

(defcard-doc
  "

  The things to note for this example are:

  - We override the React lifecycle method `shouldComponentUpdate` to do the actual D3 update, and then return false.
  This ensures React and D3 don't fight over the DOM for the component.
  - We also override `componentDidMount` to do an initial render in D3.
  - Note: As of Om 1.0.0 Alpha 30 the method of obtaining the properties differs a bit, as shown. This may have
  changed since this writing.

  ## Important Notes and Further Reading

  - Remember to use `#js` (shown as `clj->js` in many examples) to transform attribute maps for passing to DOM elements
  - Use *cljs* maps as input to your own Elements
  - Extract properties with `om/props`. This is the same for stateful (with queries) or stateless components.
  - Add parent-generated things (like callbacks) using `om/computed`.

  TODO: Add links to various docs
  ")

  with an edn map as the first argument. That map is accessed using `om/props` on `this` within the subcomponent. Data
  is passed from component to component through `props`.

  ### Don't forget the React DOM Key!

  You might notice something new here: the `om/factory` function is supplied with an additional map `{:keyfn :name}`.
  The factory function can be optionally supplied with two keywords: `:keyfn` and `:validator`. `:keyfn` produces the
  <a href=\"https://facebook.github.io/react/docs/multiple-components.html\" target=\"_blank\">React key property</a>
  from component props (here it's `:name`), while `:validator`takes a function that asserts the validity of the props received.

  The key is critical, as it helps React figure out the DOM diff. If you see warning about elements missing
  keys (or having the same key) it means you have adjacent elements in the DOM of the same type, and React cannot
  figure out what to do to make sure they are properly updated.

  ## Play With It

