我一直在为一个 Picker 项目苦苦挣扎,该项目在更改它的值时会刷新太多次。该元素用于更改应用程序中的设置并将其存储在内部存储中,这要归功于AsyncStorage
.
我正在使用createContext
我的功能StorageContext
来处理设置的检索和保存。
我在这里做了一个repro 。
更改选项可以正常工作,但如果您仔细观察,它会更新太多次。例如,如果用户从 更改time1
为time2
,则选择器值将:
time1
> time2
> time1
>time2
在 Snack 和我的手机上它几乎不可见,但在 Android 模拟器中它更多......这意味着我的实现不是最好的。通过查看控制台也可以确认这一点。
如何改进我的代码以使其更好地工作?随意在此处直接更改代码。
相关代码在Settings.js
和StorageContext.js