使用Light Table,在eval修改Om功能后,如何告诉Om重新渲染DOM?
强制交换!对主状态原子没有影响:
(swap! app-state identity)
使用(swap! app-state assoc :current-page :about)
明确循环路线并使用(swap! app-state assoc :current-page :home)
返回主页,反映对主页的更改。
我的浏览器已连接到Light Table,我可以触发警报,例如(js/alert "hi")
再次调用root也会触发渲染:
(root app app-state
{:target (. js/document
(getElementById "site"))})
为什么Om不会在app-state atom swap!
上触发渲染?
答案 0 :(得分:2)
在Om中,您应该使用om/update!
和om/transact!
修改应用程序状态原子。