#javascript #react-native #mqtt #iot #mosquitto
#язык JavaScript #реагировать-родной #mqtt #iot #комаров
Вопрос:
Я пытаюсь установить связь между Mqtt и react native, используя крючки, с которыми у меня возникли некоторые проблемы:
- функция connect() вызывается несколько раз (11 раз)
- данные не отображаются одновременно, они показывают влажность, так как сначала другие значения равны нулю через 2 секунды данные отображаются
- Когда я попытался переключиться на другую страницу, которая замерзла, и через несколько минут приложение выключится, поэтому я должен запустить его с выставки. Помогите, это будет приятно
постоянный клиент = новый Paho.MQTT.Клиент(хост, номер(порт), идентификатор клиента);
useEffect(() =gt; { client.onConnect = onConnect; client.onConnectionLost = onConnectionLost; client.onSendMessage = onSendMessage; client.onMessageArrived = onMessageArrived; if(client){ client.connect({ cleanSession : false, onSuccess : onConnect, userName: "user", password: "pass", onFailure : onConnectionLost, }); } }, [client]) const onMessageArrived=(payload) =gt;{ console.log("onMessageArrived:" payload.payloadString); setMessage(payload.payloadString) if(payload.destinationName === 'AirMonitoring/humidity') { setHumidity(payload.payloadString) } if(payload.destinationName === 'AirMonitoring/aircondition') { setAirCondition(payload.payloadString) } if(payload.destinationName === 'AirMonitoring/temperature') { setTemperature(payload.payloadString) } if(payload.destinationName === 'EnergyMonitoring/energy') { setEnergy(payload.payloadString) } setItems( [ { name: 'Température', code: temperature " ° C", icon: "thermometer" }, { name: 'Humidité', code: humidity ' %', icon: 'droplet'}, { name: 'Concentrations en CO2', code: airCondition ' ppm', icon: 'wind' }, { name: 'Energie consommée', code: energy " kwh", icon: 'zap' }]) console.log("Humidity : " humidity) console.log("Temperature : " temperature) console.log("Co2 : " airCondition) } const onConnect = () =gt; { console.log("Connected!!!!"); setIsConnected(true); onSendMessage(client); }; const onSendMessage=(client) =gt;{ client.subscribe(topic, qos=1); client.subscribe(topic1, qos=1); client.subscribe(topic2, qos=1); client.subscribe(topic3, qos=1); }
Комментарии:
1. И что показывают ваши журналы комаров?
2. он показывает, что несколько раз подключен!!!! и получите данные по теме