gpt4 book ai didi

javascript - React-Native Android 操作错误 : 'undefined is not an object (evaluating ' action. 类型')'

转载 作者:太空狗 更新时间:2023-10-29 13:52:58 24 4
gpt4 key购买 nike

我正在使用 React Native v.43.0-rc.3,当我点击切换按钮时,我的 Android 模拟器出现了这个错误:

undefined is not an object (evaluating 'action.type')

我的切换按钮连接到 /action/index.js 中的函数:

export const toggleUpdateSwitch = (showUpdates) => {
// error goes away when i remove this line below ----+v
AnalyticsTracker.trackEvent({"category": "profile", "action" : "toggle", "label": "section/updates"})

async dispatch => {
ToastAndroid.show(TOGGLE_UPDATES_NO_DATA_MESSAGE, ToastAndroid.LONG, ToastAndroid.CENTER);
const response = await fetch('http://my.url.com/doSomething', { headers, method: 'GET' });
}
}

所以我添加了上面的行 (AnalyticsTracker),这就是我切换时导致错误的原因。有什么想法吗?

模拟器错误截图:

emulator error action.type undefined

最佳答案

我以前遇到过这样的问题。您必须将跟踪器代码放入异步调度中。根据我的经验,每当我的函数中有异步调度时,如果我在它之外有同步代码,我总是会得到这个错误。我不清楚为什么会这样,但我知道这对我来说已经解决了。

我的理论是,当您执行异步操作时,您将启动一个不同的线程。通过在它之外使用同步代码,主线程上发生了一些事情,但它没有返回任何东西。因此,当你执行 action.type 时,你会得到 undefined is not an object 因为默认情况下我认为 RN 期望返回一个具有 type 属性的对象,但你没有返回任何东西。

关于javascript - React-Native Android 操作错误 : 'undefined is not an object (evaluating ' action. 类型')',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43668894/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com