react 5

webrtc 를 이용한 비디오챗 이해하기 - Peer2Peer 이해하기

회사에서 webrtc 를 이용한 웹 비디오 챗을 만들었는데 꽤 오랫동안 작업해서 지금은 안정화 되었지만, 이게 참 이슈가 많았다. webrtc 는 브라우저가 제공하는 비디오 & 오디오 관련 API 인데 브라우저별로 서포트 하는 범위가 버전별로 다르다. 가장 힘들었던 부분이 크로스 브라우징 이었는데, 대부분의 기능들은 브라우저 자체가 서포트하기만 하면 adapter를 이용해서 polyfill 이 가능하다. 문제는 아예 이를 지원하지 않는 브라우저 대표적으로 IE 같은 것들. 그리고 의외의 복병이었던게 안드로이드의 자체 브라우저나 앱에서 링크를 클릭했을때 앱 내부에서 임베디드 식으로 사용되는 브라우저들의 문제였다. 뭐 이들은 그렇다 치고, 가장 힘들었던게 바로 Peer2Peer 프로세스를 이해하는 것이었는데..

Note/그밖에 2020.08.25

React - snackbar - alert - banner - 알림배너? 메시지 배너? 넣기

notistack 이라는 모듈인데 material ui 에서 채택하고 있는 써드파티 모듈이다. 디자인도 깔끔하고 커스터마이징도 쉬워서 매우 선호하는 모듈이다. Snackbar React component - Material-UI Snackbars provide brief messages about app processes. The component is also known as a toast. material-ui.com 다음과 같이 웹사이트에 안드로이드의 스낵바 같은 메시지를 디스플레이 할 수 있다. 사용하는 아이콘도 바꿀수 있고 각 컬러를 설정가능하고, 디스플레이 할수 있는 갯수, 위치 등도 수정 가능하고, 추가로 버튼같은 액션도 넣을 수 있다. SnackbarProvider 로 앱을 감싸주면 하위 ..

Note/ReactJS 2020.08.04

React.useEffect 와 Promise

Promise 는 자바스크립트에서는 없어서는 안될 덕목? 이다. Promise 없는 자바스크립트는 상상할수없어이제......ㅠㅠ React.useEffect 안에서는 await 을 쓸수없다. 만약당신이 await 을 썼다면 리액트가 바로 당신을 혼줄 내줄것이야 - 는 개소리고 콘솔에 경고문을 보게된다. React.useEffect(async () => { // 이렇게 쓰면 안되고 const result = await axios( 'https://something.com/api', ); setData(result.data); }, []); 그렇다면 어떻게 사용해야 할까? promise 부분을 별도의 함수로 만들어서 호출한다. React.useEffect(() => { fetchData(); }, []); ..

Note/ReactJS 2020.08.04

React - setTimeout function 에서 state 접근

Function 컴포넌트에서 useState 를 사용하고있고, setTimeout 함수안에서 특정 state 값을 체크해야 하는 상황인데, 이상하게도 분명히 setTimeout 함수가 실행되기 전 state 를 변경해주었는데도 setTimeout 호출 함수는 setTimeout 세팅 시점의 값을 가져오고 있었다. const [status, setStatus] = React.useState('ready'); function onClick() { setTimeout(() => { console.log('after timeout: ', status); }, 1000); setStatus('started'); } console.log('rendering :', status); return Click; 나의 경우..

Note/ReactJS 2020.08.04

React Hooks 이용하기

https://reactjs.org/docs/hooks-intro.html Introducing Hooks – React A JavaScript library for building user interfaces reactjs.org Hooks 는 리액트의 function 컴포넌트에서 사용할 수 있다. 간단히 사용방법을 알아보자. React.useState class 컴포넌트에서 사용하는 state 와 setState 대신 사용하는 것은 React.useState 이다. 간단한 사용방법을 알아보자. const [count, setCount] = React.useState(0); useState() 괄호안에 들어가는 값은 디폴드 값이다. 위의 예제는 count 값으로 0 을 기본 세팅하고 count 값을 수..

Note/ReactJS 2020.08.04