Fork me on GitHub

Has anyone been successful with using sente on an actual device? The source code attempts to call enc/get-window-location, but I’m getting this error undefined is not an object (evaluating ‘ It will run fine when debugging via the local server running; but once I try to bundle the app onto the device, it breaks. The call on client side looks something like:

(sente/make-channel-socket! "/chsk"
                                    {:type :ws
                                     :host “"})]


Hi! Has anybody tried to use with Reagent? The router component throws an error: component property is not set for key=root, but I don’t understand why. I mean, I gave a look at the source and I fund the relevant assertion, but I think I have correctly set the property that causes the assertion fail...


@stepugnetti: I don't know about your problem (sorry!) but I'd love to hear how you like it in relation to reagent, once you get it working


in general I don't see why a react component wouldn't work with reagent


could you share the code you use to call the router?


@stepugnetti: I’m looking at implementing NavigationExperimental instead, it seems to map really well to re-frame if you would use that:


@vikeri: Cool! However, I’m trying to keep as close as possible to, and aksonov repo looked promising.


Okok! NavigationExperimental is being integrated into the main ReactNative branch repo now though fyi


@pesterhazy: I’m quite happy with Reagent for the moment, both for React and React Native. To use the router I first had to import the js library into cljs as a my-own.react-native-router namespace. Then, more or less:

(require ‘my-own.react-native-router)
(def router* (adapt-react-class (.-Router js/ReactNativeRouter)))
(defn router
  [& [opts & children :as args]]
  (into [router* opts] children))
I tried adding several properties into opts, like :key and :ref (to inspect what is going on), but I could not get it working up to now. @vikeri: Thanks! I’ll keep it in mind, in case I fail with this approach. I am developing the same app for the web and ios/android, so keeping the APIs of my external libs as close as possible from one side to the other is rather important...


@stepugnetti: Alright, that makes sense then.


greetings, gentlemen, just a sanity check: Im I doing "cljs-react-native" right?

(ns ...
   [natal-shell.components :refer [text list-view]]
   [ :refer [data-source clone-with-rows]]))

(rum/defc my-view []
  (let [ds (-> (data-source {:rowHasChanged #(not= % %2)})
             (clone-with-rows ["aaa" "bbb" "ccc"]))]
      {:dataSource ds
       :renderRow #(text {} %)})))
does anything seem odd to you (besides the ds init is in render instead of init)?