질병 API를 호출해와서, 검색어 입력 후 검색어 결과 창에 있는 같은 글자를 하이라이트하는 기능을 구현했다.
const highLightText = (resultText: string, text: string)
검색어 결과 값
(resultText)과 내가 입력한 검색어
(text)를 파라미터로 받는다. if (text !== '' && resultText.includes(text)) {
const parts = resultText.split(new RegExp(`(${text})`, `gi`))
{parts.map((part, index) => {
const key = {index}
return part.toLowerCase() === text.toLowerCase() ? (
<span key={key} style={{ fontWeight: 700 }}>
{part}
</span>
) : (
part
)
})}
const highLightText = (resultText: string, text: string) => {
if (text !== '' && resultText.includes(text)) {
const parts = resultText.split(new RegExp(`(${text})`, `gi`))
return (
<>
{parts.map((part, index) => {
const key = {index}
return part.toLowerCase() === text.toLowerCase() ? (
<span key={key} style={{ fontWeight: 900 }}>
{part}
</span>
) : (
part
)
})}
</>
)
}
return resultText
}
대소문자를 구분까지 되는건가용? 만약 영어로 HI 라고 입력을 한다면 검색리스트에는 hi 이친구도 하이라이트가 되는지 궁금합니다. 저는 해도 안되더라구요 ㅠㅠ