0

react-native-ble-plx ライブラリを使用して、BLE デバイスからデータを正常に受信して読み取りました。

リスナーは 10 ミリ秒または 20 ミリ秒ごとにデータを受信しますが、UI はその後約 1 分フリーズします。

このシナリオを処理する適切な方法は何ですか?

class DataReceiver extends React.Component {

  ...

  characteristicListener = async (error, characteristic) => {
    if (error) {
      // handle error
    } else {
      // read data
      //parse data/
      // add new data to data object
    }
  };
  
  startReadingData = async () => {
    ...
    
    action.monitorCharacteristic({
      serviceUUID: SERVICE_UUID,
      characteristicUUID: CHAR_UUID,
      listener: this.characteristicListener,
    });
    
    ...
  }

  render() {
     ...
  }
}

function mapStateToProps(state) {
  return {
    ...
  };
}

function mapDispatchToProps(dispatch) {
  return {
    action: bindActionCreators(
      {
        writeCharacteristic,
        monitorCharacteristic,
        readCharacteristic,
      },
      dispatch,
    ),
    dispatch,
  };
}

export default connect(mapStateToProps, mapDispatchToProps)(DataReceiver);
4

0 に答える 0