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);