@historydev
Острая аллергия на анимешников

Почему не обновляется состояние?

Здравствуйте. Есть простой код, не понимаю почему моё состояние не обновляется:

const [stream, setStream] = useState();

useEffect(() => {
    async function startCapture() {
      localMediaStream.current = await navigator.mediaDevices.getUserMedia({
        audio: true,
        video: {
          width: 1280,
          height: 720,
        }
      });

      addNewClient(LOCAL_VIDEO, () => {
        const localVideoElement = peerMediaElements.current[LOCAL_VIDEO];

        if (localVideoElement) {
          localVideoElement.volume = 0;
          localVideoElement.srcObject = localMediaStream.current;
        }
      });

      return localMediaStream.current

    }

    startCapture()
        .then((local) => {
          socket.emit(ACTIONS.JOIN, {room: roomID});
          setStream(local);
        })
        .catch(e => console.error('Error getting userMedia:', e));

    console.log(stream); // undefined

    return () => {
      localMediaStream.current.getTracks().forEach(track => track.stop());

      socket.emit(ACTIONS.LEAVE);
    };
  }, [roomID, stream]);


Подскажите пожалуйста, что не так?
Спасибо.
  • Вопрос задан
  • 41 просмотр
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
18 мая 2024, в 22:58
3000 руб./за проект
18 мая 2024, в 21:07
5000 руб./за проект
18 мая 2024, в 20:58
5000 руб./за проект