Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
Tags
- robots.txt
- 프론트 본인인증
- 메일 보내기 react
- React 나이스 신원인증
- 다중포인터
- swiper
- github
- 카카오맵 api
- 함수
- 빈도수세기
- pass인증
- JavaScript
- 알고리즘
- web3-react
- use Client
- App Router
- 구글 메일보내기
- 전체 너비로 css
- nextjs 메일보내기
- nextjs contact us
- react swiper
- Til
- nextjs
- Next.js 나이스 본인인증
- CSS
- 프로그래머스
- 카카오지도 구현
- 사이트맵
- next15
- react
Archives
- Today
- Total
YEV.log
React | \n으로 받은 string data를 <br/> 처리하여 줄바꿈하기 본문
string 형식의 데이터를 JSX문법으로 렌더링 할 때 제목, 날짜 등 한 줄짜리 string은 문제없이 출력이 된다. 그렇지만 본문의 내용이든지, 채팅할 때 줄 바꿈 처리는 어떻게 렌더링 해야 할까?
JSX문법은 \n 을 줄바꿈으로 읽지 않고 string 형식으로 그대로 출력을 한다. 불러오는 데이터 자체가 문자열이니 \n 을 줄바꿈의 표시라고 읽는것도 말이 안되는 것 같기도 ... 🧐
🍋 받아오는 데이터 형식
react에서는 수많은 데이터의 양으로 반복되는 부분을 줄이기 위해 데이터 파일을 따로 만들어 map을 사용하여 불필요한 코드를 줄여준다.
[
{
id: 1,
title: '첫번째 글',
date: '2022-01-01',
main: '새해입니다!\n모두모두 건강하세요.',
},
{
id: 2,
title: '인사드려요',
date: '2022-02-24',
main: '안녕하세요\n\n이것은 줄바꿈입니다\n헬로헬로',
},
{
id: 3,
title: '생일축하문구',
date: '2022-04-16',
main: '생\n일\n축\n하\n해',
},
];
🍋 구현 방법
띄어쓰기가 필요한 문구를 \n 을 포함한 string 형태로 받아온다면, 데이터 전체 배열의 map 안에 \n을 기준으로 split 하여 또 다른 배열을 생성하고, map을 사용하여 띄어쓰기를 구현해줄 수 있다.
배열[0] (첫번째문장) + <br/>
배열[1] (두번째문장) + <br/>
배열[2] (세번째문장) + <br/>
id값이 2인 main의 문자열로 예를 들어보겠다.
main: '안녕하세요\n\n이것은 줄바꿈입니다\n헬로헬로'
{main.split('\n').map(line => {
return (
<>
{line}
<br />
</>
);
})}
🍋 결과 화면
반응형
'Web > React & Next.js' 카테고리의 다른 글
React | 페이스북 픽셀 연결하기 (React Facebook Pixel) (1) | 2022.06.07 |
---|---|
React SEO | Sitemap과 robots.txt 생성하기 (0) | 2022.05.15 |
React 초기 세팅, CRA 세팅하기 (Router v6 / styled-component) (0) | 2022.01.05 |
React | 카테고리 필터링, 동적 라우팅 기능 (0) | 2021.11.14 |
React | API Data (json) 중복 map 사용 하기 (0) | 2021.11.14 |