CLJS/Reagent:React 无法识别 DOM 元素上的 prop

CLJS/Reagent: React does not recognize the prop on a DOM element

我看到 Javascript/React 中有很多类似的问题,但我在 CLojureScript/Reagent 中遇到了这个问题,我不知道如何在不弄乱我所有应用程序的情况下解决它-州名。

所以我在浏览器控制台中收到这些警告:

react_devtools_backend.js:2430 Warning: React does not recognize the `showWarning` prop on a DOM element. If you intentionally want it to appear in the DOM as a custom attribute, spell it as lowercase `showwarning` instead. If you accidentally passed it from a parent component, remove it from the DOM element.

这些似乎来自应用状态中的项目名称:

(defonce app-state (reagent/atom {:show-warning "none"}))

我找到的唯一解决方案是将项目从 :show-warning 重命名为 :showwarning 但这会导致一堆难以阅读的项目。

我无法真正控制 Reagent 如何将 :show-warning 之类的键重命名为“showWarning”,但似乎这是 React 工作方式的基础,将有一种更简洁的方式来处理这个问题。

谢谢!

React 真的不应该看到你的状态或关心其中的内容。我的猜测是你在道具位置的某个地方渲染你的状态。您的代码中很可能某处有 [:div @app-state]。可能您正在尝试渲染状态并且应该完成 [:div {} @app-state].

Reagent 可能有点问题,因为 [:p @im-a-string] 会渲染字符串,但 [:p @im-a-map] 会将地图视为道具。