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

home2 게시판 React 게시판 Module not found: Error

Module not found: Error

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

    백지욱
    참가자

     

     

    import React, { useContext, useState } from "react";
    import { useParams } from "react-router-dom";
    import { useEffect } from "react";
    import { Nav } from "react-bootstrap";
    import "../App.css";
    import { addItem } from "./../store.js";
    import { useDispatch } from "react-redux";
    import { set } from "immer/dist/internal";

    // import {Context1} from './../App'

    // import styled from 'styled-components'

    // let YellowBtn = styled.button`
    // background : ${props => props.bg};
    // color : ${props => props.bg == 'blue' ? 'white' : 'black'};
    // padding : 10px
    // `
    // let Box = styled.div`
    // background : grey;
    // padding : 20px
    // `

    // class detail2 extends React.Component{
    // componentDidMount(){

    // }
    // componentDidUpdate(){

    // }
    // componentWillUnmount() {

    // }

    // }

    function Detail(props) {
    // let {재고} = useContext(Context1) //보관함 해체

    let [num, setNum] = useState("");
    let [count, setCount] = useState(0);
    let [alert, setalert] = useState(true);
    let [탭, 탭변경] = useState(0);
    let { id } = useParams();
    let 찾은상품 = props.shoes.find((x) => x.id == id);
    let [fade2, setFade2] = useState("");
    let dispatch = useDispatch();

    useEffect(() => {
    console.log(찾은상품.id);
    let 꺼낸거 = localStorage.getItem("watched", [찾은상품.id]);
    꺼낸거 = JSON.parse(꺼낸거);
    꺼낸거.push(찾은상품.id); // 이미 있으면 push()하지마라 추가
    꺼낸거 = new set(꺼낸거);
    꺼낸거 = Array.from(꺼낸거);
    localStorage.setItem("watched", JSON.stringify(꺼낸거));
    // 그 페이지에 보이는 상품 id 가져와서
    // localStorage에 watched 항목에 추가
    }, []);

    // useEffect(()=>{
    // if (isNaN(num) == true){
    // alert('그러지마세요')
    // }
    // }, [name])

    useEffect(() => {
    setFade2("end");
    return () => {
    setFade2("");
    };
    }, []);

    // 업데이트는 재랜더링이랑 같음
    // useEffect 안에 있는 코드는 html 렌더링 이후에 실행됨
    // 복잡한 연산을 늦게 실행되어야 사람들이 사용하기 좋음 효율적인 동작
    // 서버에서 데이터 가져오는 작업을 할떄 사용
    // 타이머
    useEffect(() => {
    let a = setTimeout(() => {
    setalert(false);
    }, 2000);
    return () => {
    clearTimeout(a);
    };
    }, []);
    // [] 안에 실행조건을 넣을수 잇음 // [count] 넣으면 count라는 state가 변할때만 실행됨
    //1회만 실행하고 싶으면 []
    // 리턴을 넣으면 useEffect 동작 실행전에 실행 됨 clean up 함수 서버데이터 요청 때 좋음 (기존데이터 제거)

    return (
    <div className="container">
    <div className={"container start " + fade2}></div>
    <input
    onChange={(e) => {
    setNum(e.target.value);
    }}
    />
    {/* {
    alert == true
    ? <div className="alert alert-warnig">
    2초 이내 구매시 할인
    </div>
    : null
    } */}

    {/* <Box>
    <YellowBtn bg="blue">버튼</YellowBtn>
    <YellowBtn bg="orange">버튼</YellowBtn>
    </Box> */}
    <button
    onClick={() => {
    setCount(count + 1);
    }}
    >
    {" "}
    버튼
    </button>
    <div className="row">
    <div className="col-md-6">
    <img
    src="https://codingapple1.github.io/shop/shoes1.jpg"
    width="100%"
    />
    </div>
    <div className="col-md-6">
    <h4 className="pt-5">{찾은상품.title}</h4>
    <p>{찾은상품.content}</p>
    <p>{찾은상품.price}원</p>
    <button
    className="btn btn-danger"
    onClick={() => {
    dispatch(addItem(찾은상품.title));
    }}
    >
    주문하기
    </button>
    </div>
    </div>

    <Nav variant="tabs" defaultActiveKey="link0">
    <Nav.Item>
    <Nav.Link
    onClick={() => {
    탭변경(0);
    }}
    eventKey="link0"
    >
    버튼0
    </Nav.Link>
    </Nav.Item>
    <Nav.Item>
    <Nav.Link
    onClick={() => {
    탭변경(1);
    }}
    eventKey="link1"
    >
    버튼1
    </Nav.Link>
    </Nav.Item>
    <Nav.Item>
    <Nav.Link
    onClick={() => {
    탭변경(2);
    }}
    eventKey="link2"
    >
    버튼2
    </Nav.Link>
    </Nav.Item>
    </Nav>

    <TabContent shoes={props.shoes} 탭={탭} />
    </div>
    );
    }
    function TabContent({ 탭, shoes }) {
    let [fade, setFade] = useState("");

    useEffect(() => {
    setTimeout(() => {
    setFade("end");
    }, 100);
    return () => {
    setFade("");
    };
    }, [탭]);

    return (
    <div className={"start " + fade}>
    {[<div>내용0</div>, <div>내용1</div>, <div>내용2</div>][탭]}
    </div>
    );
    }
    // return <div className="start end">{
    // [<div>내용0</div>, <div>내용1</div>, <div>내용2</div>][탭]
    // }
    // </div>
    // return [<div>내용0</div>, <div>내용1</div>, <div>내용2</div>][탭]

    export default Detail;

    ERROR in ./src/routes/Detail.js 14:0-42
    Module not found: Error: Can't resolve 'immer/dist/internal' in '/Users/jiuk/react test/codingapple/shop/src/routes'

    webpack compiled with 1 error and 2 warnings

    이렇게 오류가 나네요 ㅠㅠ종속성문제인가요??

     

    import { set } from "immer/dist/internal"; 여기무제인거같아요

     

     

    #35834

    백지욱
    참가자

    new set -> new Set

    #35844

    codingapple
    키 마스터

    import { set } from "immer/dist/internal";

    이건 지워봅시다 

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 호 / 개인정보관리자 : 박종흠