Remove complexities from your code.
(ns counter (:require [reagent.core :as r])) (def click-count (r/atom 0)) (defn counting-component [] [:div "The state has a value: " @click-count [:input {:type "button" :value "Click me!" :on-click #(swap! click-count inc)}]])
import React, { Component } from 'react' class Counter extends Component { constructor(props) { super(props); this.state = { clickCount: 0 }; this.incCounter = this.incCounter.bind(this); } incCounter() { this.setState(prevState => ({ clickCount: prevState.clickCount + 1 })); } render() { const { clickCount } = this.state return ( <div> The state has a value: {clickCount} <input type="button" value="Click me!" onClick={this.incCounter} /> </div> ); } } export default Counter
Effortless integration via shadow-cljs
with JavaScript and npm.
npm install --save firebase
(ns fb.init (:require ["firebase/app" :as firebase])) (defn firebase-init [] (firebase/initializeApp #js {:apiKey "your-api-key" :authDomain "your-auth-domain" :databaseURL "your-database-url" :projectId "your-project-id"}))
import firebase from 'firebase/app'; const firebaseInit = firebase.initializeApp({ apiKey: 'your-api-key', authDomain: 'your-auth-domain', databaseURL: 'your-database-url', projectId: 'your-project-id' }); export default firebaseInit;
Sturdy build tools.
ClojureScript uses Google Closure Tools
for code minification and tree shaking.
Who else uses Closure Library?
Clear and in detail error messages with shadow-cljs,
leaving no room for confusion or doubt.
Reagent components
Form 1, 2, and 3 components
Reagent Atoms
Immutable Data Structures
List comprehension
Destructuring
Threading macros
Destructuring
JavaScript & npm interop
The code has been reviewed by:
30 HD Reagent videos
+3h HD Content
Immutable Data Structures
List comprehension
Destructuring
Threading macros
AJAX requests
JavaScript & npm interop
Firebase DB & Authentication
Production Build & Deployment
94 HD videos (30 Reagent and 64 re-frame)
+13h HD videos (+3h Reagent and +10h re-frame)
Everything in Reagent and additionally:
application state db — app-db
effects — db & fx
cofx & inject-cofx
dispatching events
subscriptions
interceptors
routing
re-frame http-fx & 10x
sequences
db vs. fx
The focus is on ClojureScript and Reagent. We'll not touch any CSS nor create any endpoints, everything is taken care of.
If you have any experience with Web Development (HTML, CSS, JS) you won't have any problems picking up ClojureScript with Reagent. You will be surprised how much simpler, in setup and use, it is compared to JavaScript.
How does lifetime access sound? After enrolling, you have unlimited access to this course for as long as you like - across any and all devices you own.
We believe that after watching some of the Free videos you will get pretty good feel about the course. That said, if after watching few more videos from the Pro course you are unsatisfied with your purchase, get in touch—we are able to provide full refund.
Free is 1h 07m and Pro is 3h 14m minutes.
Where most of the courses focus on some parts of a language or a library, this course is presented in the form of building an app. We focus on building and shipping things—learning by doing.
Yes! By buying this course you are supporting Open Source Projects. 10% of profits will be transferred to Clojurists Together to fund critical Clojure and ClojureScript open source projects.
Yes! The content of the course has been reviewed by experts: Juho Teperi (GitHub ⁝ Twitter), Thomas Heller (GitHub ⁝ Twitter), and Daniel Compton (GitHub ⁝ Twitter).
Jacek Schae (GitHub ⁝ Twitter) is a software developer based in Switzerland. During his quest to write better software he found Clojure and ... was puzzled. How come such a small amount of people in Web Dev talks about it? Since then he couldn't stop thinking how he could support the Clojure community to spread the word about all sublime ideas in Clojure.
Please get in touch!
I watched the first 6 videos now and I'm really liking it. Your explanations are very good, and I like how you show multiple ways of doing things (map vs list comprehension)
Up until this point no Clojure experience is necessary as every thing introduced is explained. I even went for the pro package :)
Had a brief look at @JacekSchae's free course on ClojureScript and Reagent, quality materials there. Go see it now https://www.jacekschae.com/learn-reagent-free … Cool thing is that part of the Pro course price goes to support OSS projects in @cljtogether org
… Thanks for a great course. I have toyed with clojurescript but needed a bit more guidance around best practice before actually using it in anger.
In particular, I would not have known shadow-cljs was such a great choice over lein.
Connecting with firebase sealed the deal for me. Already got a real app underway. …
… Helped a non-frontend person like me get up to speed in the world of frontend apps.
Thanks for putting together a great set of video tutorials to get started with Reagent and wow audiences with the power of React! …
I finished the course a couple of days ago. Just wanted to say I found it awesome.
…
One thing I would have liked to see is more of the workflow using the repl. On the one hand I really appreciated how straight forward it seemed you getting to every point, but on the other hand I'd like to see the 'experimentation' on the repl while evolving an app.
Thanks for the great experience.
Awesome course on Reagent/ClojureScript https://www.jacekschae.com/learn-reagent-free … following this surprised me, with new knowledge, easy & cool ways I can approach ReactJS with functional clojurescript magic.
Kudos @JacekSchae #reactjs + #Clojure = Wonders
@JacekSchae's Learn Reagent course is wonderful! The course is approachable for beginners, can help round-out the edges for regular cljs users, and can be used as a common resource for production-ready teams. Highly recommended. https://www.learnreagent.com/
Starting a ClojureScript project finally clicked with me as I was following along the amazing https://www.learnreagent.com/ course. Thanks @JacekSchae for the great work! #clojure #reagent
Thank you @JacekSchae to spreading the world with fabulous #Clojure #Reagent #CLJS tutorials ! I'm new in Clojure and just finish your course http://learnreagent.com last week and learned so much ! Masterpiece...Really !
Learning a lot about Reagent and re-frame with these courses: https://www.learnreagent.com https://www.learnreframe.com Would highly recommend them! #clojurescript #react #shadow-cljs cc @JacekSchae