5 글 보임 - 1 에서 5 까지 (총 5 중에서)
-
글쓴이글
-
2022년 10월 10일 05:43 #49711
현정참가자Redux5 장바구니 기능 숙제2번 먼저 할려고 하던도중 계속 아래의 오류가 나서 질문드립니다. Detail.js:68 Uncaught TypeError: (0 , _Store__WEBPACK_IMPORTED_MODULE_4__.addCartItem) is not a function at onClick (Detail.js:68:1)
에러내용으로 봐선 addCartItem state변경함수를 인식 못하는거 같은데 이유를 모르겠습니다ㅠ [store.js]
import { configureStore, createSlice } from '@reduxjs/toolkit'; let cartList = createSlice({ name:'cartItem', initialState:[ {id : 0, name : 'White and Black', count : 2}, {id : 2, name : 'Grey Yordan', count : 1} ], reducers : { addCartItem(state,action){ state.push(action.payload) } } })
export default configureStore({ reducer: { user : user.reducer, stock: stockRedux.reducer, cartList: cartList.reducer, //log 찍히는 name부분 } })
export let { addCartItem} = user.actions [detail.js] import { useDispatch, useSelector} from 'react-redux'; import { addCartItem } from './Store';
function Detail(props){
let {id} = useParams() console.log(id); let OriginProduct = props.shoes.find(function(product){ return product.id == id }) console.log(OriginProduct);
let state = useSelector((state)=> { return state})
console.log(state.cartList);
let dispatch = useDispatch() return( <div className="container"> <input onChange={(e)=> { setNum(e.target.value)}}/> { alert == true ? <div className="alert alert-warning"> 2초이내 구매시 할인 </div> : null } <div className="row"> <div className="col-md-6">
</div> <div className="col-md-6"> <h4 className="pt-5">{OriginProduct.title}</h4> <p>{OriginProduct.content}</p> <p>{OriginProduct.price}원</p> <p>{stock}</p> <button onClick={()=> { dispatch(addCartItem({id : 1, name : 'Red Knit', count : 1} )) }}>버튼</button> </div> </div> <Nav variant="tabs" defaultActiveKey="link0"> <Nav.Item> <Nav.Link eventKey="link0" onClick={()=>{ setTab(0) }}>버튼0</Nav.Link> </Nav.Item> <Nav.Item> <Nav.Link eventKey="link1" onClick={()=>{ setTab(1) }}>버튼1</Nav.Link> </Nav.Item> <Nav.Item> <Nav.Link eventKey="link2" onClick={()=>{ setTab(2) }}>버튼2</Nav.Link> </Nav.Item> </Nav> <TabContent tab={tab}/> </div> )
function TabContent(props){ // let {stock} = useContext(StockContext); let [fade, setFade] = useState('') useEffect( ()=> { setTimeout( ()=> {setFade('end')},100) return()=> { setFade('') } },
) return ( <div className={'start ' + fade}> {[<div>1</div>,<div>2</div>,<div>3</div>][props.tab]} </div> ) // if (props.탭 === 0){ // return <div>내용0</div> // } // if (props.탭 === 1){ // return <div>내용1</div> // } // if (props.탭 === 2){ // return <div>내용2</div> // } } }2022년 10월 10일 18:48 #49755
현정참가자파일명 Store.js이여서 import 할때도 똑같이 썻어요 user state 변경함수는 잘 동작하는데 왜 cartlist에서 계속 에러가 날까요ㅠㅠ
2022년 10월 11일 09:44 #49814
codingapple키 마스터export let { addCartItem} = user.actions user가 아니라 cartList 인가봅니다
-
글쓴이글
5 글 보임 - 1 에서 5 까지 (총 5 중에서)
- 답변은 로그인 후 가능합니다.