react 에서 검색 결과 키워드 하 이 라이트 구현

인터넷 에서 많은 js 가 실현 하 는 키워드 의 하 이 라 이 트 를 볼 수 있 습 니 다.방법 은 모두 일리 가 있 습 니 다.먼저 교체 할 문자 구역 을 얻 은 다음 에 정규 로 키워드 에 일치 하고 교체 합 니 다.
react 에서 실현 하 는 것 이 더 간단 한 것 같 습 니 다.
검색 상 자 를 통 해 뉴스 목록 을 검색 하 는 것 이 필요 합 니 다.뉴스 목록 데이터 에서 filter 함 수 를 사용 하여 모든 뉴스의 title 을 얻 고 키워드 의 정규 를 정의 합 니 다.교 체 된 스타일 로 돌아 갑 니 다.react 는 html 태그 가 있 는 문자열 을 직접 해석 할 수 없습니다.방법 은 다음 과 같 습 니 다.

render() {
  const newsList=this.state.newsList;
  if(this.props.type==='tag'||this.props.type==='search'){
   let keyword=this.props.id; //             
   newsList.filter((value,index) => { //  filter          
    var re =new RegExp(keyword,"g"); //    
    value.title=value.title.replace(re, `<span class="keyword">${keyword}</span>`); //    ,        
   })
  }
  
  return (
   <div>
    {newsList.map((value,index) => {
     return (<NewsListItem news={value} key={index} />) //                 
     })
    }
    <div className="btn-more transition" onClick={this.fetchMoreList}>{this.state.loadingText}</div>
   </div>
  );
 }
NewsList Item 구성 요소 렌 더 링 제목:

<div className="item-title" dangerouslySetInnerHTML = {{ __html:news.title }}></div>


총결산
위 에서 말 한 것 은 편집장 이 소개 한 react 에서 검색 결과 의 키워드 하 이 라 이 트 를 실현 하 는 것 입 니 다.여러분 에 게 도움 이 되 기 를 바 랍 니 다.궁금 한 점 이 있 으 시 면 메 시 지 를 남 겨 주세요.편집장 은 신속하게 답 해 드 리 겠 습 니 다.여기 서도 저희 사이트 에 대한 여러분 의 지지 에 감 사 드 립 니 다!

좋은 웹페이지 즐겨찾기