TypeError:未定义不是对象(评估'_ref.state)

Posted

技术标签:

【中文标题】TypeError:未定义不是对象(评估\'_ref.state)【英文标题】:TypeError: undefined is not an object(evaluating '_ref.state)TypeError:未定义不是对象(评估'_ref.state) 【发布时间】:2020-08-15 22:50:46 【问题描述】:

我正在尝试使用 Redux、Saga 和 React Navigation 配置 React Native。

很抱歉,我不得不创建一个要点,因为代码格式不允许我在此处粘贴所有代码。

My Code Gist Link

我得到了

TypeError: undefined is not an object(evalating '_ref.state) showReducers.js:13:15

我正在使用 expo-client 进行 React Native 应用程序开发,并使用 Redux、Redux-Saga 和 Redux-Persist 进行存储持久化。

我不能继续前进

【问题讨论】:

嗨,萨希尔。如果您要粘贴的代码过多,请将其减少为minimal reproducible example。这更有可能为您提供好的答案,因为人们可以很容易地看到问题所在,而不必挖掘大量不相关的代码。此外,链接往往会中断,使您的问题对其他有同样问题的人毫无用处。另见How to Ask。 【参考方案1】:

看起来initialState 没有在showReducer.js 中定义,因此state 的默认值在此处设置为undefined

export default ( state = initalState, action )...

所以当你使用扩展运算符时:

return 
     ...state,
     isCreateScrapbookModal: true

您正在尝试评估对象 state,但 state 实际上是 undefined,所以您会收到该错误。

【讨论】:

以上是关于TypeError:未定义不是对象(评估'_ref.state)的主要内容,如果未能解决你的问题,请参考以下文章

如何在本机反应中修复“TypeError:未定义不是对象(评估'_reactNativeCamera.default.constants')”错误?

TypeError:未定义不是对象(评估'this.setState')[重复]

TypeError:未定义不是对象(评估'array.length')反应原生[关闭]

TypeError:未定义不是一个对象(评估'details.date.getTime')

TypeError:未定义不是对象(评估“appState.remove”)

TypeError:未定义不是对象(评估“window.location.href”)