Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/424.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何使react native中的选择器与异步存储密钥一起保持更新?_Javascript_Android_React Native - Fatal编程技术网

Javascript 如何使react native中的选择器与异步存储密钥一起保持更新?

Javascript 如何使react native中的选择器与异步存储密钥一起保持更新?,javascript,android,react-native,Javascript,Android,React Native,我目前正在为我的选择器使用react native和react native material下拉列表制作一个应用程序。简单地说,我的应用程序是关于商店或其他东西的,所以你可以添加项目,删除项目(CRUD),我希望我的选取器是最新的,我的项目在AsyncStorage数据库中 一切都很好,但我必须重新打开我的应用程序,以便通过“添加项目”功能(或导航)添加新项目。我在使用expo,react导航 这是我的申请表: 以下是我的“添加项目”导航: 无论何时单击ok(第一个ok,不介意第二个ok),它

我目前正在为我的选择器使用react native和react native material下拉列表制作一个应用程序。简单地说,我的应用程序是关于商店或其他东西的,所以你可以
添加项目
删除项目
(CRUD),我希望我的选取器是最新的,我的项目在AsyncStorage数据库中

一切都很好,但我必须重新打开我的应用程序,以便通过“添加项目”功能(或导航)添加新项目。我在使用expo,react导航

这是我的申请表:

以下是我的“添加项目”导航: 无论何时单击ok(第一个ok,不介意第二个ok),它都会将该项添加到DB中,但我的选择器值不会更新。 正如我之前提到的,我必须重新打开应用程序,以使其更新为选择器值

这是我的“添加项目”js代码(同样,它用于添加项目)

以下是JSX代码

<Button title="OK" onPress={this.tambah} />

这是我的主要标签代码

  constructor(props) {
    super(props);
    this.state = { daftarBarang: [] };
  }
  loadBarang() {
    const data = AsyncStorage.getAllKeys().then(keys => {
      const stop = keys.length;
      const index = keys.toString().split(",");
      for (let i = 0; i < stop; i++) {
        this.state.daftarBarang[i] = { value: index[i] };
      }
    });
  }
// ......
return (
<Dropdown onPress={this.loadBarang()} label="Pilih Produk..." data={this.state.daftarBarang} />
// ......
);
构造函数(道具){
超级(道具);
this.state={daftarBarang:[]};
}
loadBarang(){
const data=AsyncStorage.getAllKeys()。然后(keys=>{
const stop=keys.length;
const index=keys.toString().split(“,”);
for(设i=0;i
您的数据是daftarBarang。你在哪里更新这个?这没有在任何地方更新。更新了我的代码,很抱歉,我发布了用于修复问题的修改代码。更新的是当前正在工作的东西
  constructor(props) {
    super(props);
    this.state = { daftarBarang: [] };
  }
  loadBarang() {
    const data = AsyncStorage.getAllKeys().then(keys => {
      const stop = keys.length;
      const index = keys.toString().split(",");
      for (let i = 0; i < stop; i++) {
        this.state.daftarBarang[i] = { value: index[i] };
      }
    });
  }
// ......
return (
<Dropdown onPress={this.loadBarang()} label="Pilih Produk..." data={this.state.daftarBarang} />
// ......
);