首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >RecoilJS的事件发射器模式

RecoilJS的事件发射器模式
EN

Stack Overflow用户
提问于 2021-03-31 04:05:56
回答 1查看 180关注 0票数 0

有没有一种我们可以用来处理反冲事件的模式或技术?

在Saga中,我们可以使用emit方法并创建数据流。

我一直试图把我的思想围绕着如何在反冲中实现这样的事情。

用于扫描连接蓝牙的设备的ex。

代码语言:javascript
复制
 manager.onStateChange(state => {
      const enableScanning = state === State.PoweredOn

      if (enableScanning) {
        manager.startDeviceScan(
          null,
          { allowDuplicates: false },
          (error, scannedDevice) => {
            if (error) {
              return
            }
            if (scannedDevice !== null) {
              //HERE WE NEED TO HANDLE THE ADDITION OF THE DEVICE TO A LIST
            }
          }
        )
      }
    }, true)
EN

回答 1

Stack Overflow用户

发布于 2021-05-14 03:38:03

我想你要找的是useRecoildCallback。它允许您访问所有状态(快照),而不是重新渲染生命周期的一部分。此外,一旦您有了快照,就会有一个API允许您过滤更改的状态,

代码语言:javascript
复制
for (const node of snapshot.getNodes_UNSTABLE({ isModified: true })) {
        if (atomKeys.length === 0 || atomKeys.includes(node.key)) {
            console.debug(node.key, snapshot.getLoadable(node).contents);
        }
    }

尽管它不是事件处理程序或引发事件,但您可以定期调用它并监视状态更改。

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

https://stackoverflow.com/questions/66877766

复制
相关文章

相似问题

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