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

home2 게시판 React 게시판 detail에 tab nav 작동을 안해요

detail에 tab nav 작동을 안해요

  • 이 주제에는 2개 답변, 2명 참여가 있으며 Eden4 년 전에 전에 마지막으로 업데이트했습니다.
3 글 보임 - 1 에서 3 까지 (총 3 중에서)
  • 글쓴이
  • #10953

    Eden
    참가자

    전체코드 붙여 넣었습니다. 간단한 작업인데 작동을 안해서 당황스럽네요

    뭐가 잘못된건지 몇번을 봐도 못찾겠어요.  탭을 누르면 둘다 0번째 입니다 라고 나옵니다

     

    import axios from 'axios';
    import React, { useState, useEffect} from 'react';
    import { useHistory, useParams } from 'react-router-dom';
    import './App.css';
    import { Nav } from 'react-bootstrap';
    import {CSSTransition} from 'react-transition-group';

    function Detail(props){

        let [ alert, setAlert ] = useState(true);
        let [input, setInput] = useState('');
        let [누른탭, 누른탭변경] = useState(0);
        let [스위치, 스위치변경] = useState(false);

        let backBtn = useHistory();
        let {id} = useParams();
        let findProduct = props.shoes.find(x => x.id == id);

        useEffect(() => {

             axios.get();
            // 2초 후에 alert 창 안보이게 하는 것
            let timer = setTimeout(()=>{ setAlert(false) }, 2000);
            return ()=>{clearTimeout(timer)}
        },[ alert  ]);

        return (
          <div className="container">
            {input}
            <input
              onChange={(e) => {
                setInput(e.target.value);
              }}
            />

            { alert === true ? (
              <div className="alertmsg">
                <p>재고가 얼마 남지 않앗습니다</p>
              </div>
            ) : null}

            <div className="row">
              <div className="col-md-6">
                <img
                  src="https://codingapple1.github.io/shop/shoes1.jpg"
                  width="100%"
                  alt="img1"
                />
              </div>
              <div className="col-md-6 mt-4">
                <h4>{findProduct.title}</h4>
                <p>{findProduct.content}</p>
                <p>{findProduct.price}</p>

                <Info 재고={props.재고} />

                <button
                  className="btn btn-danger"
                  onClick={() => {
                    props.재고변경([9, 11, 12]);
                  }}
                >
                  주문하기
                </button>
                <button
                  className="btn btn-danger"
                  onClick={() => {
                    backBtn.goBack();
                  }}
                >
                  뒤로가기
                </button>
              </div>
            </div>

            {/* 탭기능 만들기 */}
            <Nav className="mt-5" variant="tabs" defaultActiveKey="link-0">
              <Nav.Item>
                <Nav.Link eventKey="link-0" onClikc={()=>{스위치변경(false); 누른탭변경(0)}}>상품설명</Nav.Link>
              </Nav.Item>
              <Nav.Item>
                <Nav.Link eventKey="link-1"  onClikc={()=>{스위치변경(false); 누른탭변경(1)}}>배송정보</Nav.Link>
              </Nav.Item>
            </Nav>
             <CSSTransition in={스위치} classNames="wow" timeout={500}>
               <TabContent 누른탭={누른탭} 스위치변경={스위치변경}/>
             </CSSTransition>
           
        
          </div>
        );
    }

    function TabContent(props){

        useEffect(()=>{
            props.스위치변경(true); 
        });

        if(props.누른탭 === 0){return  <div>0번째 입니다</div>}
        else if(props.누른탭 === 1){return <div>1번째 입니다</div>}
    }

    function Info(props){
        return(
            <p>재고:{props.재고[0]}</p>
        )
    }

    export default Detail;

    #10956

    codingapple
    키 마스터

    탭버튼들에있는 onClikc 오타같은데요

    #11012

    Eden
    참가자

    휴.. 이런 말도 안되는 실수를 ㅠㅠㅠ 감사합니다 ㅠㅠ

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

About

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

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

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