/simplecomponent

a simple component to show use of D3 from Reagent

Primary LanguageClojure

simplecomponent

A simple compoenent to use Reagent/Re-frame with d3.js

see http://zachcp.github.io/simplecomponent/

Overview

If you want to use reagent with D3.js you need to use lifecycle methods. These can be very non-intuitive to use, somewhat defeating the otherwise easy-to-use Reagent.

This project follows the state-management pattern of re-frame. Its worth reading the documentationon that project because

  1. it will get you up and running
  2. it has great sections for more advanced topics.

I also ended up using these following as references:

  1. jszakmeister's clojurescript, D3, and Reagent
  2. nils blum-oests post on the same topic
  3. the discussion in this thread

Setup

To get an interactive development environment run:

lein figwheel

and open your browser at localhost:3449. This will auto compile and send all changes to the browser without the need to reload. After the compilation process is complete, you will get a Browser Connected REPL. An easy way to try it is:

(js/alert "Am I connected?")

and you should see an alert in the browser window.

To clean all compiled files:

lein clean

To create a production build run:

lein cljsbuild once min

And open your browser in resources/public/index.html. You will not get live reloading, nor a REPL.

License

Copyright © 2014 FIXME

Distributed under the Eclipse Public License either version 1.0 or (at your option) any later version.