问题标签 [asyncstorage]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
833 浏览

javascript - AsyncStorage 返回不正确的值

我对本机反应非常陌生,可能完全错误。正如反应本机文档所建议的那样,我正在为我的 AsyncStorage 使用包装器。我在做什么:

  1. 我有一个名为 Storage 的类,它用作 AsyncStorage 代码的包装器:

    /li>
  2. 另一个类 Auth 使用密钥 auth (已保存)代码查找值:

    /li>

理想情况下,密钥“auth”的值存在,因此它应该打印“Authkey exists”并且应该将 keyExists 返回为 true。但它恰恰相反。

在进一步诊断中,我发现函数authKeyExists在 promise 对象内的代码执行之前就返回了。

我看过几个示例,但它们都在 Screen 组件本身上使用 AsyncStorage(我也尝试过但失败了)。我想通过使用我的存储类来抽象出 AsyncStorage。请让我知道我在哪里弄错了。

0 投票
2 回答
3293 浏览

javascript - Navigator & AsyncStorage react native

Hello i'm new in react native and currently learn about AsyncStorage.

I want to implement conditional to render navigator. If there's value key in AsyncStorage, the initial route go to Page2 and if there's no value key in AsyncStorage, the initial route go to Page1.

If i close the app and re-open again, I want it shows me the corresponding page whether there is a key. please help.

Here's what i've done so far:

0 投票
9 回答
43137 浏览

react-native - React Native - 如何查看 AsyncStorage 中存储的内容?

我将一些项目保存到AsyncStorageReact Native 中,并且我正在使用 chrome 调试器和 iOS 模拟器。

没有本机反应,使用常规网络开发localStorage,我能够看到下存储的localStorage项目Chrome Debugger > Resources > Local Storage

知道如何查看 React NativeAsyncStorage存储的项目吗?

0 投票
0 回答
247 浏览

ios - AsyncStorage 数据是否可供 AppGroup 中的其他应用程序使用?

我似乎找不到任何有关如何使 AsyncStorage 值可用于我的应用程序组中的其他应用程序的文档。特别是,我有一个键盘扩展,我想访问在核心应用程序中检索到的用户数据。

我怀疑它不受支持,如果不支持,请考虑这是一个功能请求。

0 投票
1 回答
6722 浏览

react-native - default values from initial state are loaded before store rehydrates with redux-persist

I'm having trouble accessing saved data after app starts with redux-persist.

The reducer initializes with data defined in my initial state. By the time the previous session's state loads with AsyncStorage, the component is already displayed with the default data.

I know that the data is saved and fetched successfully. If I leave the screen to a different one and come back to it, I can see that the data is displayed correctly. Debugging the state and props also shows that this is a async timing issue.

How can I delay the loading of the redux containers to after the store rehydrates. Alternatively, can I force update the conatainer (and its children) to update when the store finishes loading?

Here is what I've tried. to configure my store:

Hoping that this will update all other components (since all reducers in redux are called in an action), I've tried creating an action that triggers when the store finishes loading:

And it's reducer: import { REHYDRATE_STORE } from '../actions/types' const initialState = { storeIsReady: false }

But although the storeIsReady state changes to true when rehydration is complete, I'm still couldn't figure out how to force update the container component.

0 投票
2 回答
9052 浏览

react-native - React Native - 将新项目推送到现有的 AsyncStorage 密钥?

我有一些场景需要存储项目AsyncStorage并将新数据推送到它们各自的键。其中之一是AsyncStorage这样存储的 10 个国家/地区的列表:

我尝试了以下操作,country我想要推送/添加到预先存在的新项目在哪里countries

那当然没有用...

如前所述,我还有一些需要此功能的场景。我正在尝试找到一个具有可重用反应本机AsyncStorage函数的解决方案来处理传递的keyand data,并负责设置项目,或者如果它存在则推送到项目。

知道如何有效地完成此功能AsyncStorage吗?

0 投票
9 回答
37105 浏览

react-native - React Native 的异步存储安全吗?

我想将敏感数据本地存储在 React Native 应用程序中。

数据是否仅适用于编写它的应用程序?

0 投票
2 回答
898 浏览

javascript - 承诺返回未定义的 AsyncStorage

我有一个 react-native 应用程序,我在其中进行一些身份验证。

我有以下代码检查令牌是否未过期及其可用。

但在我的代码中,如果我这样做:

有谁知道为什么会这样,我做错了什么?

0 投票
3 回答
19558 浏览

javascript - React Native AsyncStorage getItem 返回承诺而不是值

我有一个登录表单,我可以发布表单值。在成功的 POST 请求之后,我得到了从 API 返回的身份验证令牌。我需要将此令牌保存在本地存储中以供将来参考。为了保存这个身份验证令牌,我使用了 AsyncStorage。我使用AsyncStorage.setItem(STORAGE_KEY, responseData.auth_token);setItem 方法来保存数据。

如果我通过以下方式进行控制台记录:

console.log(AsyncStorage.setItem(STORAGE_KEY));

它像这样作为 promise 对象返回

: 目的

如何从 AsyncStorage.getItem 方法中获取确切值?

这是我的获取方法

BTW 在他们使用过的文档中等待。我尝试使用它,但页面未加载。此处附有屏幕截图。在此处输入图像描述

0 投票
6 回答
56767 浏览

javascript - 在本机反应中擦除 AsyncStorage

我注意到由于redux-persist,我在调试我在react-native中坚持的redux操作浪费了一定的时间。有时我只想擦除 AsyncStorage 以节省一些开发时间并尝试使用新数据。AsyncStorage

编辑:最好的情况下,解决方案应该适用于模拟器和真实设备、iOS 和 Android。对于不同的平台,可能有不同的解决方法。

谢谢