Подключение Mosquitto Mqtt с помощью крючков

#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. он показывает, что несколько раз подключен!!!! и получите данные по теме