make om-next and rum templates work nicely with RN 0.25+
- fix usage of React and ReactNative API by removing natal-shell dependency
This commit is contained in:
parent
a721661ad0
commit
3cb3af47e3
|
@ -66,8 +66,7 @@ interfaceConf =
|
|||
android: ["core.cljs"]
|
||||
common: ["state.cljs"]
|
||||
other: [["support.cljs","re_natal/support.cljs"]]
|
||||
deps: ['[org.omcljs/om "1.0.0-alpha28" :exclusions [cljsjs/react cljsjs/react-dom]]'
|
||||
'[natal-shell "0.1.6"]']
|
||||
deps: ['[org.omcljs/om "1.0.0-alpha28" :exclusions [cljsjs/react cljsjs/react-dom]]']
|
||||
shims: ["cljsjs.react", "cljsjs.react.dom"]
|
||||
sampleCommandNs: '(in-ns \'$PROJECT_NAME_HYPHENATED$.state)'
|
||||
sampleCommand: '(swap! app-state assoc :app/msg "Hello Native World!")'
|
||||
|
@ -78,8 +77,7 @@ interfaceConf =
|
|||
android: ["core.cljs"]
|
||||
common: []
|
||||
other: [["sablono_compiler.clj","sablono/compiler.clj"],["support.cljs","re_natal/support.cljs"]]
|
||||
deps: ['[rum "0.8.3" :exclusions [cljsjs/react cljsjs/react-dom sablono]]'
|
||||
'[natal-shell "0.1.6"]']
|
||||
deps: ['[rum "0.8.3" :exclusions [cljsjs/react cljsjs/react-dom sablono]]']
|
||||
shims: ["cljsjs.react", "cljsjs.react.dom", "sablono.core"]
|
||||
sampleCommandNs: '(in-ns \'$PROJECT_NAME_HYPHENATED$.ios.core)'
|
||||
sampleCommand: '(swap! app-state assoc :greeting "Hello Clojure in iOS and Android with Rum!")'
|
||||
|
|
|
@ -1,15 +1,25 @@
|
|||
(ns $PROJECT_NAME_HYPHENATED$.$PLATFORM$.core
|
||||
(:require-macros [natal-shell.components :refer [view text image touchable-highlight]]
|
||||
[natal-shell.alert :refer [alert]])
|
||||
(:require [om.next :as om :refer-macros [defui]]
|
||||
[re-natal.support :as sup]
|
||||
[$PROJECT_NAME_HYPHENATED$.state :as state]))
|
||||
|
||||
(set! js/window.React (js/require "react-native"))
|
||||
(set! js/window.React (js/require "react"))
|
||||
(def ReactNative (js/require "react-native"))
|
||||
|
||||
(defn create-element [rn-comp opts & children]
|
||||
(apply js/React.createElement rn-comp (clj->js opts) children))
|
||||
|
||||
(def app-registry (.-AppRegistry ReactNative))
|
||||
(def view (partial create-element (.-View ReactNative)))
|
||||
(def text (partial create-element (.-Text ReactNative)))
|
||||
(def image (partial create-element (.-Image ReactNative)))
|
||||
(def touchable-highlight (partial create-element (.-TouchableHighlight ReactNative)))
|
||||
|
||||
(def app-registry (.-AppRegistry js/React))
|
||||
(def logo-img (js/require "./images/cljs.png"))
|
||||
|
||||
(defn alert [title]
|
||||
(.alert (.-Alert ReactNative) title))
|
||||
|
||||
(defui AppRoot
|
||||
static om/IQuery
|
||||
(query [this]
|
||||
|
|
|
@ -1,15 +1,25 @@
|
|||
(ns $PROJECT_NAME_HYPHENATED$.$PLATFORM$.core
|
||||
(:require-macros [natal-shell.components :refer [view text image touchable-highlight]]
|
||||
[natal-shell.alert :refer [alert]]
|
||||
[rum.core :refer [defc]])
|
||||
(:require-macros [rum.core :refer [defc]])
|
||||
(:require [re-natal.support :as support]
|
||||
[rum.core :as rum]))
|
||||
|
||||
(set! js/window.React (js/require "react-native"))
|
||||
(set! js/window.React (js/require "react"))
|
||||
(def ReactNative (js/require "react-native"))
|
||||
|
||||
(defn create-element [rn-comp opts & children]
|
||||
(apply js/React.createElement rn-comp (clj->js opts) children))
|
||||
|
||||
(def app-registry (.-AppRegistry ReactNative))
|
||||
(def view (partial create-element (.-View ReactNative)))
|
||||
(def text (partial create-element (.-Text ReactNative)))
|
||||
(def image (partial create-element (.-Image ReactNative)))
|
||||
(def touchable-highlight (partial create-element (.-TouchableHighlight ReactNative)))
|
||||
|
||||
(def app-registry (.-AppRegistry js/React))
|
||||
(def logo-img (js/require "./images/cljs.png"))
|
||||
|
||||
(defn alert [title]
|
||||
(.alert (.-Alert ReactNative) title))
|
||||
|
||||
(defonce app-state (atom {:greeting "Hello Clojure in iOS and Android!"}))
|
||||
|
||||
(defc AppRoot < rum/cursored-watch [state]
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
(ns re-natal.support
|
||||
"Helpers and adapters to be able to mount/remount Rum components in a React Native application.")
|
||||
|
||||
(def React (js/require "react-native"))
|
||||
(def React (js/require "react"))
|
||||
(def create-class (.-createClass React))
|
||||
(def create-factory (.-createFactory React))
|
||||
|
||||
|
|
Loading…
Reference in New Issue