Redux-persist kullanırken bir hata oluştu. Redux-persist v5 hakkında birkaç belge bulabilirim. Ve sadece resmi kullanım örneğini takip ediyorum. Ama bunun hakkında kafam karıştı. Redux-persist kullanmaya başlamadan önce, durumu doğru bir şekilde mağazadan alabilirim. Ancak giriş durumunu yerel olarak tutmak istiyorum. Bu yüzden redux-persist kullanmaya çalışıyorum. Sonra bazı problemlerim var. İşte benim kodudur:redux-persist hatası var: Mağazada geçerli bir redresör yok
reducer.js
const initialState = {
isLogin: false,
uname: "",
}
const userReducer = (state = initialState, action) => {
switch(action.type) {
case 'DO_LOGIN':
return Object.assign({}, state, {
isLogin: true,
uname: action.payload.username
})
default:
return state
}
}
const reducers = combineReducers({
userInfo: userReducer
})
export default reducers
store.js
import thunk from 'redux-thunk'
import { createLogger } from 'redux-logger'
import { createStore, applyMiddleware, compose } from 'redux'
import { persistStore, persistCombineReducers } from 'redux-persist'
import storage from 'redux-persist/es/storage'
import reducers from '../reducers'
const loggerMiddleware = createLogger()
const middleware = [thunk, loggerMiddleware]
const composeEnhancers = window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__ || compose
const configureStore = composeEnhancers(
applyMiddleware(...middleware),
)(createStore)
const config = {
key: 'root',
version: 1,
storage,
}
const combinedReducer = persistCombineReducers(config, reducers)
const createAppStore =() => {
let store = configureStore(combinedReducer)
let persistor = persistStore(store)
return { persistor, store }
}
export default createAppStore
App.js
const mapStateToProps = (state) => ({
logged: state.userInfo.isLogin
})
Ben bu hata mesajı var bu kodu çalıştırdığınızda TypeError: Cannot read property 'isLogin' of undefined
Ve konsoldaki bu hata iletisi Store does not have a valid reducer. Make sure the argument passed to combineReducers is an object whose values are reducers.
Sanırım redüktörleri birleştirirken bir şey doğru değil. Ama neyin yanlış olduğu hakkında hiçbir fikrim yok. redux-persist
docs yılında
Ne dediysen onu yaptım. Ama aynı hata. –
soruyu yeni kod ile güncelleyebilir misiniz? Benim güncellenmiş cevabımı – Dane
denediniz mi lütfen Üzgünüz, şimdi anladım. Kodumu güncelledim, reducer.js bir nesneyi dışa aktarmasına izin ver. İşe yarıyor. Çok teşekkür ederim. –