Inflearn brand logo image

인프런 커뮤니티 질문&답변

kimday365님의 프로필 이미지
kimday365

작성한 질문수

한 번에 끝내는 자바스크립트: 바닐라 자바스크립트로 SPA 개발까지

Header 개발

URL에 따라 리스트 불러오기 - getSortBy()와 getSearchWord()를 활성화 하면 리스트가 사라집니다

해결된 질문

작성

·

26

·

수정됨

1

 

const getSortBy = () =>{

    if(window.location.search){
      const sortText = window.location.search.split('sort=')[1].split('&')[0];
      console.log(`getSortBy : ${sortText}`);
      return sortText;
    };

    return 'total';
  };

const getSearchWord = () => {

    if(window.location.search && window.location.search.includes('search=')){
      return window.location.search.split('search=')[1];
    };

    return '';
  };

...

this.state = {  startIdx: 0, sortBy : getSortBy(), searchWord: getSearchWord(), region: "", cities: "",};

 일단 문제가 되는 코드는 이 부분 입니다.

이부분을 작성 한 이후로, 새로고침 하면 아래 시티리스트가 안나오다가

상단 sort 또는 search 를 주석처리 하면 리스트가 출력 됩니다

 

전체 코드는 아래 git 주소를 같이 봐주시면 감사하겠습니다.

https://github.com/KimDay366/onebite_js/tree/main/section09/Trip-Wiki

 

한시간째 똑같은 코드만 보고 있는데, 계속 봐도 저는 뭐가 문제인지 모르겠네요 ㅠㅠㅠ

답변 1

1

효빈 Hyobin님의 프로필 이미지
효빈 Hyobin
지식공유자

안녕하세요, kimday365님 🙂 질문주셔서 감사합니다.

 

handleSearch: async (searchWord) => {
      history.pushState(
        null,
        null,
        `/${this.state.region}?sort=${this.state.sortBy}&search=${this.state.searchWord}`
      ); // 검색어가 있는 경우 사용할 URL 할당

전체 코드를 보니, 이렇게 작성을 해주셨는데요, 여기서 this.state.searchWord가 아닌, 파라미터로 전달받은 searchWord를 사용해주셔야 최신 반영이 될 것 같습니다!

수정해보시고, 다른 오류도 발생한다면 다시 질문 남겨주세요 🙂 감사합니다.

kimday365님의 프로필 이미지
kimday365

작성한 질문수

질문하기