【发布时间】:2022-12-31 07:10:45
【问题描述】:
我在 Reagent + ShadowCLJS 中有一个三层嵌套的组件(在不同的文件中)。编辑和保存此文件时,更改不会立即显示,直到编辑和保存父组件。
例如,NAV 嵌套在 DASHBOARD 中,而 DASHBOARD 本身嵌套在 APP 中。编辑和保存 DASHBOARD 也会导致浏览器中发生变化,但是编辑和保存 NAV 不会,直到 DASHBOARD 本身被修改,NAV 才会在浏览器中显示变化。
示例代码:
(ns app.core
(:require [app.views.dashboard :as dash]))
(defn app[]
[dashboard])
(ns app.views.dashboard
(:require [app.components.nav :as nav]))
(defn dashboard[]
[:div
[:div "Dashboard"]
[nav/nav]])
(ns app.components.nav)
(defn nav[]
[:div "Navigation"])
构建配置:
;;shadow-cljs.edn
...
{:app {:target :browser
:modules {:main {:entries [app.core]}}}
...
我尝试取消嵌套命名空间,以便组件在目录中彼此相邻,但仍然三重嵌套。这也行不通。
【问题讨论】:
标签: clojurescript reagent shadow-cljs