두피만
FE 던지기
두피만
전체 방문자
오늘
어제
  • 분류 전체보기
    • 기술 경험
    • 기술에 대한 생각들
    • 회고록
    • 프로그라피
    • 구 게시글
      • 백엔드 찍먹
      • 삽질
      • React
      • 라이브러리 소개
      • Breaking 프로젝트

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • JS로 React 구현하기
  • 프로그라피
  • Modal
  • SVG
  • react-query
  • 프로그라피 React
  • 셀프다이닝
  • 노드버드
  • Redux
  • 프로그라피 8기
  • query string
  • 상태관리
  • 리엑트 노드버드
  • 삽질
  • 아이디어 도출
  • react
  • typescript
  • 전역상태
  • 서비스 발전 과정
  • 프론트엔드

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
두피만

FE 던지기

구 게시글/Breaking 프로젝트

피그마 SVG 파일 추출시 컴포넌트상에서 다른 이미지 생성

2022. 11. 10. 11:01

피그마에서 svg파일로 추출해서 프로젝트에 넣어서 사용하고 있었다 그러던 중 문제가 발생하였다 

직접 파일을 볼때는 정상 작동 하였지만 React 코드 상에서 불러올때는 다른파일 이미지가 불러와 지는 것이다.

 

이유는 정말 참신했다

피그마에서 svg파일을 export할시에 svg파일에 있는 pattern의 id값이 각 svg의 고유값이 아닌 전부다 pattern0을 띄우고 있기 떄문이었다.

 

// svg 파일중에 있는 코드

<rect width="252" height="60" fill="url(#pattern0)"/>
<defs>
<pattern id="pattern0" patternContentUnits="objectBoundingBox" width="1" height="1">
	<use xlink:href="#image0_7_16" transform="translate(0 -0.0163934) scale(0.00273224 0.0114754)"/>
</pattern>
<image id="image0_7_16" width="366" height="90" xlink:href="대충 base64로된 이미지"/>

rect라는 태그의 fill이 pattern0을 가르키고 있다 여기서 지정하는 pattern0은 바로 밑에있는  pattern 태그를 뜻한다 이 pattern에서 이미지를 불러오게 된다 

 

하지만 이게 페이지 단에 업로드가 되면 문제가 된다. 피그마에서 image가 있는 모든 파일들을 svg로 export할때 모든 pattern의 id가 pattern0이 되어 버리는 것이다.

 

이는 첫번째 업로드된 pattern0을 모든 rect 태그가 참조하게 되고 모든 이미지가 이 처음 업로드된 pattern0을 가진 이미지로 바뀌는 것이다.

 

따라서 각 svg 파일에 있는 pattern id값을 고유값으로 수정해서 이를 해결하였다.

'구 게시글 > Breaking 프로젝트' 카테고리의 다른 글

QueryString(부제: 카카오 로그인)  (0) 2022.11.09
소셜 로그인(카카오, 구글)  (0) 2022.11.09
프론트엔드의 JWT  (0) 2022.11.09
    '구 게시글/Breaking 프로젝트' 카테고리의 다른 글
    • QueryString(부제: 카카오 로그인)
    • 소셜 로그인(카카오, 구글)
    • 프론트엔드의 JWT
    두피만
    두피만

    티스토리툴바