• 로그인
  • 장바구니에 상품이 없습니다.

home2 게시판 React 게시판 axios post, state 사용 질문입니다.

axios post, state 사용 질문입니다.

2 글 보임 - 1 에서 2 까지 (총 2 중에서)
  • 글쓴이
  • #22720

    안다용
    참가자

    안녕하세요. 선생님.

    react 강의 완강하고, axios api를 사용하여 데이터를 처리하고 있습니다.

          const response = await axios.post(
            "url주소",
            {
              Para: [{ Similarity: 0.4 }],
              query: {
                부산: ["부산"],
                공원: ["공원", "유원지"],
              },
            }
          );

    위의 코드는 query 부분을 직접 입력한 코드이고,

    query : {  } 부분이 state를 사용하여 동적으로 바뀌도록 하고싶습니다. 

    검색창에 검색어를 입력하면 관련 키워드가 자동 생성되는 api가 있습니다.

    response는 state에 담아서 필요한곳에 값을 뿌려줍니다.

    예를들어 "부산 공원"이라고 검색하면 

    {
    "placesKor": [
    "부산"
    ],
    "query": {
    "공원": [
    "공원",
    "식물원",
    "수목원",
    "유원지",
    "근린",
    "골프장",
    "박물관",
    "국립공원",
    "전시관",
    "축구장",
    "동물원"
    ],
    "부산": [
    "부산"
    ]
    }
    }

    이러한 데이터가 생성되고 이 데이터를 사용하여 체크박스 기능을 만들어서 state에 담는 기능까지 구현했습니다.  해당 데이터를 선택하면, ["부산", "동물원", "근린"] 이런식으로 배열로 저장이 됩니다. 체크박스 선택/해제에 따라서 state 배열에 데이터가 추가되고 제거가 유동적으로 됩니다. 근데 이렇게 하나의 배열이 아니라, 

              query: {
                부산: ["부산"],
                공원: ["공원", "유원지"],
              },

    이런식으로 키값과 배열이 체크박스 선택/해제 여부에 따라서 유동적으로 추가되고 제거가 되어야 합니다. 

    위의 연관키워드 데이터를 활용하여 query : { } 부분에 체크박스 state값을 넣으려고 할 때, 검색어에 따라서 "부산 공원","부산 울산 공원" 등 동적으로 변하는 데이터를 어떻게 처리해야 하는지 모르겠습니다. "부산 공원"이 키워드로 올 때는

              query: {
                부산: ["부산"],
                공원: ["공원", "유원지"],
              },

    "부산 울산 공원"이 키워드로 올 때는

              query: {
                부산: ["부산"],
                울산: ["울산"],
                공원: ["공원", "유원지", "식물원"],
              },

    이런식으로 api에서 어떤 데이터를 체크박스로 선택하느냐에 따라서 동적으로 키값과 배열이 생성이 되어야하는데, 

    { }중괄호 안에 map을 사용하여  처리해보려고도 했으나 안되더군요...

    axios post 내에서 처리가 까다롭네요..

    방법을 알려주시면 정말 감사하겠습니다ㅠ

    #22730

    codingapple
    키 마스터

    사용자가 입력한 검색어가 지역명인지 아닌지부터 검사를 해야겠는데요 

    입력한 키워드를 공백기준으로 다 잘라서 []에 담고 반복문돌려서

    반복문 돌 때 마다 "지금 키워드가 지역명이냐" 라고 물어보고 

    맞으면 query라는 object자료에 지역명 하나 추가하면 될듯요

     

     

2 글 보임 - 1 에서 2 까지 (총 2 중에서)
  • 답변은 로그인 후 가능합니다.

About

현재 월 700명 신규수강중입니다.

  (09:00~20:00) 빠른 상담은 카톡 플러스친구 코딩애플 (링크)
  admin@codingapple.com
  이용약관, 개인정보처리방침
ⓒ Codingapple, 강의 예제, 영상 복제 금지
top

© Codingapple, All rights reserved. 슈퍼로켓 에듀케이션 / 서울특별시 강동구 고덕로 19길 30 / 사업자등록번호 : 212-26-14752 온라인 교육학원업 / 통신판매업신고번호 : 제 2017-서울강동-0002 호 / 개인정보관리자 : 박종흠