라이브러리 코드를 고쳐쓰고 싶다면 어떻게 해결하시나요?

React-Native-Switch-Selector 라는 컴포넌트를 사용하고 있습니다!

해당 라이브러리 코드에서는

const options = [{
    label: '일',
    value: 1,
  },
  {
    label: '이',
    value: 2,
  },
  {
    label: '삼',
    value: 3,
  },
  {
    label: '4',
    value: 사,
  }];

다음과 같은 형식으로 객체배열 형태로 options를 받고, 이를 셀렉터로 렌더링 해주는 컴포넌트 입니다!

문제는, 라이브러리 이용시 사용할 수 있는 Props에 저 label을 렌더링하는 Text컴포넌트의 props 호환성이 좋지 않습니다! (color만 수정가능하도록 짜여져 있음.)

따라서 컴포넌트를 재구성 하고 싶다는 생각이 드는데, 이 경우에 다른분들은 다른 라이브러리 선택지를 고려하시는지, 아니면 라이브러리 코드를 재구성 하는 방법이 있으신지 궁금합니다!

참고로 저는 HOC으로 해결 할 수 없는 문제라고 판단하였습니다!

리서치 결과는, 굉장히 지저분한 방법이 존재합니다.(npm 모듈을 fork하는 방식) 이와 관련 글들에서는 모두 비추하는 내용이 많았습니다. 다행히 저는 Custom Icon을 받아주는 Props에 텍스트(React Native의 Text가 아닌 디자인 시스템의 Text)를 맵핑하고, 기타 아이콘들을 추가적으로 맵핑하는 함수를 만들어 이 문제를 간접적? 으로 해결하였는데, 만일 모듈 자체의 코드를 수정하는 일이 발생한다면

이와 비슷한 방식으로 해결하시면 되겠으나, 비추천 드립니다!

고수님들 감사합니다~!!

저는 포크를 떠서 릴리즈 버전을 관리하면 사용하고 있습니다.

좋아요 1

저는 매번 포크 하고 빌드하는데 시간이 많이 소요되서 node_modules에서 수정하고 patch-package로 만들어둡니다

좋아요 2

좋은 팁이네요! 관련하여 노하우를 미디엄등을 통해 간략하게 공유해주시면 도움이 될 것 같아요 :slight_smile:

좋아요 1

Alice님이 하시는대로 저도 patch-package로 수정해서 사용하고 있습니다.
사용방법은 위에 제가 블로깅한걸 참고해주세요~

좋아요 3