gpt4 book ai didi

android - 索引 1 处的绑定(bind)值为 null,从 react-native 中的 asyncstorage 获取数据

转载 作者:行者123 更新时间:2023-11-29 00:03:15 26 4
gpt4 key购买 nike

我正在尝试使用来自多个数组的数据生成按钮。

其中一个数组是动态的,它是在 constructor() 中生成的。

问题是。当我尝试导航到屏幕时,我收到一条错误消息,指出“索引 1 处的绑定(bind)值为空”。该错误不指向我的代码中的任何行,而是说该问题与 sqlite 和 asyncstorage 有关。

我不确定为什么会这样,但可能与未正确初始化 generatedData 状态有关。

我不知道该怎么做才能解决这个问题,我们将不胜感激。

代码如下:

import React, { Component } from 'react';

import {
Text,
View,
TouchableOpacity,
} from 'react-native';

class DataApp extends Component {
constructor() {
super()
this.state = {
dataLocalIds: [
"data1Data",
"data2Data",
"data3Data",
"data4Data",
"data5Data",
"data6Data"
],
dataLabel: [
"[ data 1 ]",
"[ data 2 ]",
"[ data 3 ]",
"[ data 4 ]",
"[ data 5 ]",
"[ data 6 ]",
],
generatedData: [],
}

this.state.dataLocalIds.map((value, index) => {
this.data = this.getDatas(value);
})
}

async getDatas(value) {
try {
const value = await AsyncStorage.getItem(value).then(val => {
let jsonInit = {};
jsonInit[value] = value;
let newArray = this.state.generatedData;
newArray.push(jsonInit);
this.setState(generatedData: newArray);
return JSON.parse(val)
});
return value
} catch (err) {
throw err
}
}

renderScreen = () => {
var myData = JSON.parse(this.state.generatedData);
return (
{this.state.dataLabel.map((item, index) => {
return(
<TouchableOpacity onPress={}>
<Text>{this.state.generatedData[index] === "{}" ? item : "foo: " + generatedData.foo + " / bar: " + generatedData.bar}</Text>
</TouchableOpacity>
)
})}
);
}

render() {
return (
this.renderScreen()
);
}
}
export default DataApp;

最佳答案

我有这个问题,这是因为我向 AsyncStorage.getItem() 发送了 null 值,当我更改它时。它解决了。

关于android - 索引 1 处的绑定(bind)值为 null,从 react-native 中的 asyncstorage 获取数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47954666/

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