ModalSlice.js
const initialState = { loginModal: false, signupModal: false }; //state2개
const modalSlice = createSlice({
name: 'modal',
initialState: initialState,
reducers: {
showLoginModal: (state, { payload }) => { //showLoginModal 액션
state.loginModal = payload;
},
showSignupModal: (state, { payload }) => {
state.signupModal = payload;
}
}
});
App.js
const { loginModal, signupModal } = useSelector((state) => state.modal);
//useSelector로 import없이 state를 불러옴. 그럼 변수처럼 쓸 수 있다.
//useSelector는 조회만 가능함.
LoginModal.js
<div className={style.textbox}>
<div className={style.text} onClick={() => {
dispatch(showLoginModal(false)); //바꾸고싶으면 dispatch
dispatch(showSignupModal(true));
}}>회 원 가 입</div>
<li className={style.menus} id={isSelected === 'saying'?
(style.focused_saying):(style.saying)}
onClick={()=>{SayingClickEvent();
handleSayingClick()}}>
나의 명언
</li>
위의 방식으로 두개의 함수를 onClick안에 넣어야하는데
<li className={style.menus} id={isSelected === 'saying'?
(style.focused_saying):(style.saying)}
onClick={()=>SayingClickEvent()} onClick={()=>handleSayingClick()}>
나의 명언
</li>
이렇게 써서 오류가 났었다 ㅜㅜ