title: Clojurescript this-as macro points to global object
body: <p>During writting reactjs tutorial in clojurescrtipt i've found that <code>this-as</code> macro compiles to</p>
  
  <p><code>(function(){var t = this; return t;}</code></p>
  
  <p>which always points to window inside react classes. Sometimes i can workaround this by <code>js* this</code> but not inside <code>let</code> or <code>map</code> cuz they are also compiled to functions.</p>
  
  <p><strong>How can i access react js <code>this</code> inside <code>let</code> form?</strong></p>
  
  <p>Situation on fiddle: <a href="http://jsfiddle.net/VkebS/57/" rel="noreferrer">http://jsfiddle.net/VkebS/57/</a></p>
  
  <p>and a piece of tutorial FYI:</p>
  
  <pre><code>(def comment-list 
    (React/createClass 
     #js{:render 
         (fn [] (dom/div #js {:className "commentList"}
                         (let [d (this-as t (.. t -props -data))]
                           (map #(commnt #js {:author (:author %)} (:text %)) d))))}))
  </code></pre>
  
  <p>PS: i can use native array for data and native map function </p>
  
  <pre><code>(def comment-list 
    (React/createClass 
     #js{:render 
         (fn [] (dom/div #js {:className "commentList"}
                         (.map (.. (js* "this") -props -data) #(commnt #js {:author (:author %)} (:text %)))))}))
  </code></pre>
  
  <p>that works, but...</p>