20200527 TIL

sangminnn·2020년 5월 28일
0
청크는 함수를 반환할수 있는 반면, 사가는 순수 객체만 전달한다.
청크 = mutable, 사가 = immutable 환경이다.
사가는 리듀서에 전달되기전 비동기 통신에 대한 응답을 전달해줄수 있는반면, 
청크는 함수자체를 내려 준다. 즉 사가는 사이드 이펙트를 줄이고, 에러에 대한 핸들링이 더 유연하다고 볼수 있다.
Saga는 Thunk와는 달리 콜백 문제가 발생하지 않고, 
비동기식 흐름을 쉽게 테스트 할 수 있으며 작업이 immutable하게 유지된다.”

비동기 부분을 보면 dispatch에 함수 자체를 보내는걸 볼 수 있다. mutable한 환경을 제공해줌으로서 사이드이펙트의 발생과 비동기 통신에 대한 에러 핸들링도 어려움이 있을수 있다.


  • ducks구조에서의 액션 생섬함수부분인 creatAction부분이 생략되어있고, dispatch에 그대로 들어가는 구조, payload 역시 바로 들어가는 형태로 되어있음
  • lodash deepmerge merge였음 - 있는 값은 대체 이후 나머지 값 추가하여 merge
  • 궁금하던건 lodash cloneDeep - depth가 깊은 것도 다 복사해줌.

Its return value will be considered the next state. It will be returned from getState() from now on, and the change listeners will immediately be notified.

만약 리턴하는 함수에서 dispatchgetState를 파라미터로 받게 한다면, 스토어의 상태에도 접근할 수 있습니다.

따라서 현재의 스토어 상태의 값에 따라 액션이 dispatch될지 무시될지 정해줄 수 있는 것 입니다.


코드 푸쉬는 MS에서 만든 오픈소스로서 앱을 심사없이도 실시간 업데이트를 가능하게 해주는 모듈입니다.

리엑트 네이티브에서는 네이티브 코드와 설정이 아닌 Javascript단의 코드와 assets(이미지, 폰트 등) 의 요소들을 앱 심사없이 바로 업데이트 할 수 있습니다.


npm / yarn

https://stackoverflow.com/questions/50278553/what-is-main-difference-between-yarn-and-npm


lodash - cloneDeep

→ depth 가 2 이상인것도 copy?


text handle change - RNN

onChangeText = e => {
    this.setState({
      message: e
    });
  };

Lodash

uniqBy

  • 배열 안에 객체 들의 요소 중복을 제거하고 싶을 때 사용합니다. (추가로, uniq 함수는 배열의 중복을 제거합니다.)
_.uniqBy([{ 'x': 1 }, { 'x': 2 }, { 'x': 1 }], 'x');

// => [{ 'x': 1 }, { 'x': 2 }]

build , start


React Native API 중 Picker 는 Deprecated 되었음.

const diffDay = moment().diff(moment(new Date(section.regdate)).format('YYYY-MM-DD'), 'day');

npm run build is an alias for npm build


npm start은 package.json의 scripts에 있는 start 명령어를 실행하는 부분입니다. 만약 start 명령어를 따로 설정하지 않았다면 node server.js가 실행됩니다.

npm stop은 뭔지 알겠죠? npm start했던 것을 멈추는 명령어입니다.

npm restart은 npm stop 후에 다시 npm start를 하는 명령어입니다.

npm test는 test 명령어를 실행합니다.

npm run은 그 이외의 scripts를 실행하는 명령어입니다. 예를 들어 scripts에 build 명령어가 있다하면, npm run build하면 됩니다.

npm cache는 npm 내의 cache를 보여줍니다. 만약 npm에 문제가 생기거나 하면 제일 먼저 하는 게 npm cache clean으로 cache를 지우는 겁니다.

profile
생각하며 코딩하려고 노력하는 개발자가 되겠습니다.

0개의 댓글