gpt4 book ai didi

javascript - React native Array.find 不是一个函数

转载 作者:太空狗 更新时间:2023-10-29 13:08:11 25 4
gpt4 key购买 nike

我是 js 开发的大三学生,所以这可能是一个愚蠢的问题,很抱歉。

我在我的应用程序中使用 firebase 来存储我的字符串,我在加载应用程序时调用它一次并将其保存在内存中以便更快地访问。

然后我使用 strings.find 在数组中查找特定字符串。所有工作在 iOS 上运行时都能找到,但在 Android 上运行时我不断收到这个奇怪的错误

TypeError: Undefined is not a function (evaluting 'this.strings.find...

这是我的数据模式

{'strings': [{'name':'something', 'value':'something'} ... ]

这是我的代码

getString(名字){
返回 this.strings.find(x => x.name == name).value
}

这是我定义对象的地方

init(onUpdated) {
Promise.all([stringsDb.once('value'), multiLang.once('value')])
.then(([stringsSnapshot, multiLangSnapshot]) => {

this.strings = stringsSnapshot.value
this.multiLang = multiLangSnapshot.value

onUpdated(true)
})
.catch((err) => {
console.log(err.stack)
onUpdated(false)
});
}

最佳答案

这可能是因为 this.strings 不是数组。您需要调试它并查看它是否实际上是一个数组,我猜它返回一个对象,如果是这样,那么您需要使用 reducer 或者 Object.values 或其他东西来转换为数组。

p.s 你应该在比较字符串时使用 === 运算符

关于javascript - React native Array.find 不是一个函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44840698/

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