해결된 질문
작성
·
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
안녕하세요, kimday365님 🙂 질문주셔서 감사합니다.
handleSearch: async (searchWord) => {
history.pushState(
null,
null,
`/${this.state.region}?sort=${this.state.sortBy}&search=${this.state.searchWord}`
); // 검색어가 있는 경우 사용할 URL 할당
전체 코드를 보니, 이렇게 작성을 해주셨는데요, 여기서 this.state.searchWord가 아닌, 파라미터로 전달받은 searchWord를 사용해주셔야 최신 반영이 될 것 같습니다!
수정해보시고, 다른 오류도 발생한다면 다시 질문 남겨주세요 🙂 감사합니다.