All Projects β†’ lilactown β†’ Helix

lilactown / Helix

Licence: epl-2.0
A simple, easy to use library for React development in ClojureScript.

Programming Languages

clojure
4091 projects
clojurescript
191 projects
cljs
18 projects

Projects that are alternatives of or similar to Helix

Git template
Automating your workflow with git
Stars: ✭ 198 (-15.74%)
Mutual labels:  hooks
Masonic
🧱 High-performance masonry layouts for React
Stars: ✭ 209 (-11.06%)
Mutual labels:  hooks
React Hooks Helper
A custom React Hooks library that gives you custom hooks for your code.
Stars: ✭ 227 (-3.4%)
Mutual labels:  hooks
Voyager Hooks
Hooks system integrated into Voyager.
Stars: ✭ 200 (-14.89%)
Mutual labels:  hooks
Projj
Manage repository easily.
Stars: ✭ 206 (-12.34%)
Mutual labels:  hooks
Windows User Action Hook
A .NET library to subscribe for Windows operating system global user actions such mouse, keyboard, clipboard & print events
Stars: ✭ 224 (-4.68%)
Mutual labels:  hooks
Use Async Effect
πŸƒ Asynchronous side effects, without the nonsense
Stars: ✭ 193 (-17.87%)
Mutual labels:  hooks
Vue 2 3
↔️ Interop Vue 2 components in Vue 3 apps and vice versa
Stars: ✭ 231 (-1.7%)
Mutual labels:  interop
Reusable
Reusable is a library for state management using React hooks
Stars: ✭ 207 (-11.91%)
Mutual labels:  hooks
Use Undo
React Hooks to implement Undo and Redo functionality
Stars: ✭ 224 (-4.68%)
Mutual labels:  hooks
Flooks
🍸 A state manager for React Hooks
Stars: ✭ 201 (-14.47%)
Mutual labels:  hooks
React Table
βš›οΈ Hooks for building fast and extendable tables and datagrids for React
Stars: ✭ 15,739 (+6597.45%)
Mutual labels:  hooks
Resolvers
πŸ“‹ Validation resolvers: Zod, Yup, Joi, Superstruct, and Vest.
Stars: ✭ 222 (-5.53%)
Mutual labels:  hooks
Yadm
Yet Another Dotfiles Manager
Stars: ✭ 2,982 (+1168.94%)
Mutual labels:  hooks
Use Position
🌍 React hook usePosition() for fetching and following a browser geolocation
Stars: ✭ 230 (-2.13%)
Mutual labels:  hooks
Vue Cnode
πŸš€ 基于vue3 function-based ζž„ε»Ίcnode瀾区
Stars: ✭ 192 (-18.3%)
Mutual labels:  hooks
React Native Swiper Flatlist
πŸ‘† Swiper component implemented with FlatList using Hooks & Typescript + strict automation tests with Detox
Stars: ✭ 217 (-7.66%)
Mutual labels:  hooks
Inline syscall
Inline syscalls made easy for windows on clang
Stars: ✭ 232 (-1.28%)
Mutual labels:  hooks
Use Expo
Complementary hooks for Expo
Stars: ✭ 233 (-0.85%)
Mutual labels:  hooks
React Native Easy Starter
A react-native starter kit using RN0.63, Flipper support, LogBox, AndroidX, Hooks workflow, easy-peasy, code-push, Themes support and much more
Stars: ✭ 224 (-4.68%)
Mutual labels:  hooks

Helix

ClojureScript optimized for modern React development.

(ns my-app.core
  (:require [helix.core :refer [defnc $]]
            [helix.hooks :as hooks]
            [helix.dom :as d]
            ["react-dom" :as rdom]))

;; define components using the `defnc` macro
(defnc greeting
  "A component which greets a user."
  [{:keys [name]}]
  ;; use helix.dom to create DOM elements
  (d/div "Hello, " (d/strong name) "!"))

(defnc app []
  (let [[state set-state] (hooks/use-state {:name "Helix User"})]
    (d/div
     (d/h1 "Welcome!")
      ;; create elements out of components
      ($ greeting {:name (:name state)})
      (d/input {:value (:name state)
                :on-change #(set-state assoc :name (.. % -target -value))}))))

;; start your app with your favorite React renderer
(rdom/render ($ app) (js/document.getElementById "app"))

Installation

Clojars Project

Install the latest version from clojars in your project.

A version of "react" and "react-refresh" should be installed automatically; install the corresponding version of your favorite renderer (e.g. "react-dom").

shadow-cljs and npm

During development, you'll want to emit ES6 code until polyfills are handled differently. You can do this by passing in a dev compiler configuration:

;; shadow-cljs.edn
{,,,
 :builds 
 {:app
 {,,,
  :dev {:compiler-options {:output-feature-set :es6}}}}}

Release builds should be able to emit all the way back to ES3.

shadow-cljs and react-native

See React Native.

lein-cljsbuild / figwheel-main / raw CLJS

Use CLJSJS or package react yourself using webpack, ensuring it is provided as the name "react".

Documentation

View formatted docs at cljdoc badge

Other resources:

License

Copyright Β© 2020 Will Acton

Distributed under the EPL 2.0

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].