<../reducers/index.js>
[const initialState = {
user: {
isLoggedIn: false,
user: null,
signUpData: {},
loginData: {},
},
post: {
mainPosts: [],
},
};
export const loginAction = (data) => {
return {
type: 'LOG_IN',
data,
};
};
export const logoutAction = (data) => {
return {
type: 'LOG_OUT',
};
};
//action creator 함수 -> 데이터값을 액션하는 함수
//액션 자체는 객체라서 값을 수정못하니 모든케이스마다 객체를 만들어줘야하니 함수로 만들어서
//그때 그때 만드는 것으로한다!!
// const CHANGE_NICKNAME = (data) => {
// return {
// type: 'CHANGE_NICKNAME',
// data,
// };
// };
// CHANGE_NICKNAME('boogicho');
// store.dispatch(changeNickname('mighty tak'));
//이전상태와 액션을 실행했을 떄, 다음상태 두가지를 다 실행하는 함수!
const rootReducer = (state = initialState, action) => {
switch (action.type) {
case 'LOG_IN':
return {
...state,
user: {
...state.user,
isLoggedIn: true,
user: action.data,
},
};
case 'LOG_OUT':
return {
...state,
user: {
...state.user,
isLoggedIN: false,
user: null,
},
};
}
};
export default rootReducer;
<..store/configureStore.js>
import { createWrapper } from 'next-redux-wrapper';
import { createStore } from 'redux';
import reducer from '../reducers';
const configureStore = () => {
const store = createStore(reducer);
return store;
};
const wrapper = createWrapper(configureStore, {
debug: process.env.NODE_ENV === 'development',
});
export default wrapper;
<터미널 에러 표시>
❯ npm run dev > react-nodebird-front@1.0.0 dev > next Browserslist: caniuse-lite is outdated. Please run: npx browserslist@latest --update-db ready - started server on http://localhost:3000 error - ./store/configureStore.js Attempted import error: 'createWrapper' is not exported from 'next-redux-wrapper'.
처음엔 단순히 리덕스버전 문제인줄 알앗는데,
구글에서도 검색해도 잘 나오지 않고, 문제 이해가 어려워서
질문올립니다.