我正在尝试像这样使用mapStateToProps:
const mapStateToProps = (state: { logedIn: boolean; } ) => {
return {
logedIn: state.logedIn
}
}
我正在创建 typescript react 应用程序。 我尝试在编辑器中使用 ctrl 搜索来搜索logedIn,并且发现它处于应该处于的初始状态。 但是当我执行 npm start 时,我收到此错误:
TypeError: Cannot read property 'logedIn' of undefined
Function.mapStateToProps [as mapToProps]
src/components/LogIn/Login.tsx:79
76 |
77 | const mapStateToProps = (state: { logedIn: boolean; } ) => {
78 | return {
> 79 | LogedIn: state.logedIn
80 | }
81 | }
82 |
这是我的初始状态
interface IAppState {
logedIn : Boolean;
}
const initialState : IAppState = {
logedIn : false
};
const reducer = (state = initialState, action : any) => {
switch (action.type) {
case actionTypes.LOG_IN:
return {
...state,
logedIn: true
}
case actionTypes.LOG_OUT:
return {
...state,
logedIn: false
}
}
}
创建商店:
export const store = createStore(reducer)
我在这里也收到错误,它说没有重载与“reducer”匹配
reducer :
import {actionTypes} from "./actionTypes";
export const LogedIn = () => {
return {
type:actionTypes.LOG_IN
}
}
export const LogOut = () => {
return {
type:actionTypes.LOG_OUT
}
}
请问有什么建议吗?我真的被这些困住了
最佳答案
createStore
接受初始状态作为第二个参数:
createStore(reducer, [preloadedState], [enhancer])
在您的情况下,您没有在商店上签名:
export const store = createStore(reducer, initialState)
关于reactjs - MapStateToProps 给我未定义的错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62672257/