티스토리 뷰
구글링 해보니까 모듈 있던데
이런 단순한 기능 쓰려고 모듈 다운받는건 내키지 않아서
직접 만들었다.
저번에 안드로이드 네이티브에서도 만들었었는데...
js로 react native에서 또 만드네.....
코드 전문 하단..
파라미터 값으려
전체 텍스트와 색칠할 텍스트를 받는다.
import React from 'react';
import { Text } from 'react-native';
import PropTypes from 'prop-types';
export default SpannableText = ({ fullText, piece }) => {
let text = fullText;
let cText = piece;
let textLength = cText.length;
let view = [];
let succecePoint = [];
let textList = [];
for (let i=0; i<text.length; i++) {
if (text.substring(i,i+textLength) === cText) {
succecePoint.push(i);
}
}
for (let i=0; i<text.length; i++) {
let booll = false;
for (let j=0; j<succecePoint.length; j++) {
if (getIsColor(i,succecePoint[j],textLength)) {
booll = true;
console.log(i + ' / ' + j);
break;
} else {
booll = false;
}
}
textList.push(new textRule(text.charAt(i),booll));
}
for (let i=0; i<textList.length; i++) {
view.push(textOne(textList[i]));
}
return(
<>
{view}
</>
)
}
function getIsColor(i, j, textLength) {
for (let k=0; k<textLength; k++) {
if (i === j + k) {
return true;
} else {
booll = false;
}
}
}
function textOne(textList) {
let color = textList.booll ? '#ff0000' : '#000000'
return (
<Text style={{color}}>{textList.char}</Text>
)
}
function textRule(char, booll) {
this.char = char;
this.booll = booll;
}
SpannableText.propTypes = {
fullText: PropTypes.string,
piece: PropTypes.string,
}
'React Native' 카테고리의 다른 글
react i18n 화폐 단위 설정 (0) | 2021.04.16 |
---|---|
백그라운드 플로팅 윈도우 버튼.. (0) | 2021.01.28 |
google map polyline direction 여러 라인 보여주기. (0) | 2020.07.20 |
React Native 함수형 코드를 클래스형 코드로 변경 / State에 대한 설명 (0) | 2020.07.02 |
RN Navigation v5 / React Native 화면 전환 (0) | 2020.06.29 |
- Total
- Today
- Yesterday
- not found adb
- 귀찮아;;
- 차번호 정규표현식
- 자바
- 데이터베이스
- 클래스형 코드
- 명령어
- not working adb
- not starting .bash_profile
- adb 환경변수
- React Native
- 안드로이드
- mac android
- insert
- mongo db
- ubunut 설치 link
- 차번호 정규식
- nosql
- https://medium.com/@limgyumin/%EC%BD%94%ED%8B%80%EB%A6%B0-%EC%9D%98-apply-with-let-also-run-%EC%9D%80-%EC%96%B8%EC%A0%9C-%EC%82%AC%EC%9A%A9%ED%95%98%EB%8A%94%EA%B0%80-4a517292df29
- 구글 맵 선그리기
- Android
- https://hwan-shell.tistory.com/244
- spannableText
- rn
- text 부분 색 칠하기
- MongoDB
- ubunut android
- 구글 맵 경로 그리기
- react native state
- 함수형 코드
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |