首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >未能构造“HTMLElement”:请使用“新”运算符

未能构造“HTMLElement”:请使用“新”运算符
EN

Stack Overflow用户
提问于 2020-05-06 06:53:32
回答 1查看 1.2K关注 0票数 1

我试图使用AWS放大器身份验证库在一个重新框架的应用程序。库提供了一个高级组件withAuthenticator,它应该包装应用程序的主视图。我正在尝试使用reactify-componentadapt-react-class,但不幸的是,我得到了以下错误:

Uncaught :未能构造‘HTMLElement’:请使用‘new’运算符,此DOM对象构造函数不能作为函数调用。

代码语言:javascript
复制
(defn main-panel []
  [:div
   [:h1 "Hello" ]])

(def root-view
  (reagent/adapt-react-class
    (withAuthenticator
      (reagent/reactify-component main-panel))))

(defn ^:dev/after-load mount-root []
  (re-frame/clear-subscription-cache!)
  (aws-config/configure)
  (re-frame/dispatch-sync [::events/initialize-db])
  (reagent/render [root-view]
                  (.getElementById js/document "app")))

任何帮助都是非常感谢的。

EN

回答 1

Stack Overflow用户

发布于 2020-09-02 12:00:36

我对试剂+放大有这个问题。

用两个改变解决了它,但我不确定两者是否都需要

#1将Google闭包编译器的输出更改为es6 (或更高)。扩容似乎使用的es6功能,不能多填。

这是针对影子-cljs(影子-cljs.edn)的,但是对于其他构建系统来说,这也是可能的。

{:builds {:app {:compiler-options {:output-feature-set :es6}}}}

免责声明:我从lein-cljsbuild切换到影子cljs,因为我无法获得lein来尊重es6输出的配置。

#2使用功能组件。

在试剂1.0.0-alpha1 1和更高版本中,默认情况下,您可以更改编译器以生成功能组件。

代码语言:javascript
复制
(ns core
    (:require
      [reagent.core :as r]))


(def functional-compiler (r/create-compiler {:function-components true}))
(r/set-default-compiler! functional-compiler)

还有其他方法来制作功能组件。如果您不喜欢或不能使用这种方法,请检查文档

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61629092

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档