Какой код в useEffect вызывает предупреждение о несериализуемых значениях для реагирующей навигации? - PullRequest
0 голосов
/ 27 апреля 2020

При загрузке компонента функции Chat выдается предупреждение о том, что «в несостоявшемся состоянии были обнаружены несериализуемые значения», которые могут быть отключены. Я пытался выяснить, какой код вызвал предупреждение. Вот код для useEffect в Chat компоненте:

 [messages, setMessages] = useState([]);
 useEffect(() => {     
    const chatFunc = async () => {
      //check token
      if (!result) {result = await helper.getJwtToken()};
      console.log("secure store : ", result);
      if (!result) navigation.navigate("Event");   //<<<===not causing the warning
      props.socket.on("event message", async (msg) => {
        console.log("Received server message data ", msg.data);
        let r = {
          _id: msg.id,
          createdAt : msg.createdAt,
          text: msg.data.msg_body,
          user: {
            _id: msg.sender_id,
            name: msg.user_name,
            avatar: msg.user_avatar,
          }
        };
        //append messages
        setMessages(GiftedChat.append(messages, r));  

        try {
          await helper.setMyValue('event'+props.eventId.toString(), msg.createdAt); //<<<===save value locally
        } catch (err) {
          console.log("Error in set async store for chat message", err);
        };

      }); //end socket for `event message`

      try {
        let url = `${GLOBAL.BASE_URL}/api/messages/e?_device_id=${encodeURIComponent(device_id)}&event_id=${encodeURIComponent(props.eventId)}&socket_id=${encodeURIComponent(props.socket.id)}&_grpmember_id=${grpmember_id}&_group_id=${group_id}&_role=${role}`;
        console.log("Chat message URL : ", url);
        let res = await helper.getAPI(url, result);
        //
        res = await res.json();
        console.log("messages retrieved : ",res);
        let formated_msgs = formatMessages(res);
        //update messages
        setMessages(formated_msgs);
        console.log("Messages in chat : ", messages);

      }
      catch (e) {
        console.log("Error in retriving messages : ", e);
      };

      return props.socket.removeListener("event message", () => {
        console.log("event message removed in Chat");
      })  //<<<=== not causing the warning

    };  //end chatFunc

    chatFunc();
  }, [])  //[] with or without variable not causing the warning

socket (socket.io 2.1) передается как переменная из родительского компонента. Вот сообщение:

enter image description here

Имеется do c об этом предупреждении от реагирования-навигации. Может кто-нибудь пролить свет на то, какой код может вызвать предупреждение?

...