所以我有一个组件,假设当我点击它时,这应该会触发状态更改,例如:
:on-click #(om/set-state! this {:activated? true})
现在,如果我想在单击文档的任意位置时“停用”它怎么办?我想我可以addEventListener
通过将它连接到对象上来使用document
,如下所示:
(componentDidMount [this]
(events/listen (gdom/getDocument)
(.-CLICK events/EventType)
#(om/set-state! this {:activated? false}) true))
现在这是我想要的,但首先如果我有 200 个相同组件的实例,它将有 200 个事件侦听器,对吗?我猜这是不可取的,但没关系
但真正的问题是如何在设置状态时将组件的一个实例与另一个实例区分开来?我绝对不希望所有这些都“停用”,而只希望在其中触发单击事件处理程序的上下文