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

home2 게시판 React 게시판 배열값 전달 질문 드립니다.

배열값 전달 질문 드립니다.

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

    도형호
    참가자

    안녕하세요. 도저히 해결이 안되서 질문드립니다.

    배열에 임의로 값을 담고, 그값을 function에 넣어 

    onclick 했을 때 그 데이터를 넘겨주고 싶습니다.

    useContext를 사용하여 Patient를 만들었고

    onclick을 했을 경우 Patient값에 각각 다른이름을 넣어서

    하위 컴포넌트에 전달하고 싶은데..

    방법을 잘 모르겠습니다.

    임의로 obj 배열을 만들었고 

    각 value에 값을 담았습니다.

    table에 onclick으로 function을 연결해 주었고

    각 function에 Patient값에 각 배열 데이터를 담아주고 싶어서 

    이것저것 해보았는데 방법을 모르겠습니다.

    function 만드는 것 외에 다른 방법이 있는지...

    이 코드를 어떻게 수정해야 되는지....

    알려주세요ㅠㅠㅠ어떻게 해야 Patient값에 각 데이터가 들어가서 

    하위컴포넌트로 전달될까요?

    데이터가 넘어간 하위 컴포넌트인데 여기서 ${patient}값에 담아주고 싶습니다.

    #30308

    codingapple
    키 마스터

    goBlood1() 함수는 파라미터 2개를 입력할 수 있다고 짜놨는데 함수쓸 때는 파라미터 입력을 아무것도 안한듯요 

    onClick={()=>{ goBlood1(obj[0], Patient) }} 이러면 될거같은데 

    Patient라는 둘째파라미터는 없애도 될듯요 

    #30331

    도형호
    참가자

    말씀해주신대로 onClick={()=>{ goBlood1(obj[0]) }}로 바꾸고

    onClick 후 자식컴포넌트(ShotTerm)에 전달값을 받아왔습니다.

    이렇게 해 보니 {Patient}부분은 출력이 안되고 그냥 !!!로만 나오는데..

    콘솔에는

    이렇게 나오는데 {Patient}에 빈값이 전달되는 것 같습니다.

    전달방법이 잘못 된 걸 까요? 이번주까지 끝내야하는 demo Client라서ㅠㅠ

    다시한번 부탁드립니다!

    #30366

    codingapple
    키 마스터

    ShotTerm 컴포넌트쓸 때 props="props" 로 잘 전송했나요

    #30379

    도형호
    참가자

    props="props" 전송했습니다.

    일단 제 프로젝트 구조는 App>>FormTable>>ShortTerm입니다.

    App컴포넌트에서 Route에 props="props"로 전송했습니다.

    <FormTable />에도 전송을 해야하는걸까요

     

    위의 코드는 FormTable 코드 입니다.

    저기서 function goBlood안 Patient = firstValue를 console.log로 찍었을 때 값이 Patient에 담긴것을 확인 했습니다.

     

    FormTable에서 onClick시 이동하는 하위 컴포넌트 ShortTerm 입니다.

    여기서 데이터를 받아와서 axios의 ${Patient}에 담아야되는데 그게 안되고 있습니다.

    ${Patient}에 전달되는 데이터를 console.log로 찍으면 undefind가 나오고 있습니다.

    FormTable에서 function goBlood의 Patient값에 담은 데이터를 ShortTerm의 axios에 가져오고 싶어요..

    #30402

    codingapple
    키 마스터

    <FormTable> 안에는 <ShortTerm> 이게 없어서 부모자식관계가 아니라 props 전송이 불가능합니다 

    App -> FormTable 아니면 App -> ShortTerm 이렇게 전송은 되겠네요 

    그러려면 변수나 state를 App 안에 보관해놔야합니다 

    props 전송하는법은 props="props"를 그대로 적으라는건아니고 변수를 넣으면 됩니다 props강의 참고하면 됩니다 

    #30413

    도형호
    참가자

    <FormTable> 과 <ShortTerm> 이 부모자식관계가 아닌걸 몰랐네요..

    App 에 FormTable 내용을 적어 App+FormTable >>ShortTerm 으로 변경했습니다.

    그럼 이 App에서 ShortTerm으로 props로 전달하면 되는데

    App에 변수선언을 했고 <ShortTerm name={name} /> 으로 전달했습니다.(변수명을 Patient에서 name 으로 변경)

    onClick={()=>{ goBlood1(name[0]) }}으로 전달하는 function에서 props로 받아 {props.name[0]}이부분을

    콘솔찍으니 undefined가 나옵니다.

    function에서 전달방법이 잘못된거 같은데 여러번 변경해서 시도해봐도 안되네요.

    강의 내용은 이해되나 응용하니 또 안됩니다ㅠㅠ

    function에서 전달하는 방법이 어떻게 잘못된걸까요ㅠ 

    #30428

    codingapple
    키 마스터

    component={<ShortTerm name={name}/>} 이래야할듯요 

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

About

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

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

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