首页 > 解决方案 > 如何使用钩子useEffect处理功能组件中的addListener事件?

问题描述

我需要你的帮助,我正在使用一个使用 Bluethoot 的应用程序,并且我正在使用功能组件,寻找我找到了一个执行我需要的类组件的示例:

类组件

我想将它转换为一个功能组件,但我遇到了 DeviceEventEmitter.addListener 的问题:

功能组件

我没有更新变量的状态,导致变量丢失其先前的状态并且不更新

  _listeners.push (
        bluetoothManagerEmitter.addListener (
          BluetoothManager.EVENT_DEVICE_FOUND,
          rsp => {
            _deviceFoundEvent (rsp);
          },
        ),
      );

我是 React Native 的新手,我不知道如何在每次调用 DeviceEventEmitter.addListener 时更新组件。

注意:在类组件中它正常工作,在找到设备时显示设备,在功能组件中它不显示找到的设备。

标签: react-nativeeventsreact-hooks

解决方案


推荐阅读