【问题标题】:Cannot use rootReducer in redux , react/typescript无法在 redux 、 react/typescript 中使用 rootReducer
【发布时间】:2021-10-16 08:55:57
【问题描述】:

我正在使用 react/typescript 学习 redux。在我使用超过 1 个减速器之前,一切都很好。 起初,我是这样创建商店的:

import { AuthReducer } from './reducers/AuthReducer' 
const middleware = [thunk];
const store = createStore (AuthReducer, applyMiddleware(thunk))
export default store

但是当我尝试使用rootReducer 时,我从商店记录的数据是未定义的。

import { AuthReducer } from './reducers/AuthReducer' 

const middleware = [thunk]; 
const rootReducer=combineReducers({
  AuthReducer, 
  CartReducer 
})

const store = createStore (rootReducer, applyMiddleware(thunk))
export default store

【问题讨论】:

  • 如何使用state form store
  • 欢迎来到 SO。请不要将代码或错误消息包含在屏幕截图或图像中。它使帮助您变得更加困难。花点时间在您的问题中包含minimal reproducible example 作为格式化文本(我在本例中编辑了您的问题)。
  • 同意@Viet,现在您正在合并reducers,state 中的所有内容现在都将在state.AuthReducer 中,等等...
  • 我得到这样的状态: const userState:UserState = useSelector((state:UserState) => state)
  • 天哪,非常感谢。我已经坚持了2天。感谢您的问题@Viet,我解决了这个问题。我虽然问题出在商店,但它确实来自我使用 state 的方式。

标签: reactjs typescript redux store


【解决方案1】:
import { createStore, applyMiddleware, compose } from 'redux'
import thunk from 'redux-thunk'

import reducers from '../Reducers'
//this is all your reducers that  are combined

const middleWare = [ thunk ]

const store = createStore (
    reducers,
    undefined,
    compose(
        applyMiddleware(...middleWare)
    )
)
export default store;

【讨论】:

    猜你喜欢
    • 2020-02-17
    • 1970-01-01
    • 2022-07-07
    • 1970-01-01
    • 2021-11-13
    • 2020-12-27
    • 2021-11-22
    • 1970-01-01
    • 2020-06-09
    相关资源
    最近更新 更多