是否可以将文件下载到目录文件夹,然后导入



我有一个问题,无法解决!React Native中的我的应用程序有很多屏幕。一个屏幕使用一个JSON文件,该文件现在位于应用程序项目文件夹中:

import test from "../test.json"

我想替换它,因为很明显,如果我想更改JSON,我需要更改应用程序项目文件夹中的文件。所以我想下载这个文件,然后以同样的方式导入它。我成功地在临时目录中下载了该文件,但无法导入,因为它不在应用程序项目文件夹中。我正在使用一个名为React Native blob util的React Native库。库的一个函数(ReactNativeBlobUtil.fs.dirs(告诉我所有的目录:

{"ApplicationSupportDir": "/Users/testuser/Library/Developer/CoreSimulator/Devices/2CDC9FD4-9CA6-4FDC-BBBA-12A17D7523C2/data/Containers/Data/Application/CF3BF7FD-CE84-439E-9BB9-EF318D685F81/Library/Application Support", "CacheDir": "/Users/testuser/Library/Developer/CoreSimulator/Devices/2CDC9FD4-9CA6-4FDC-BBBA-12A17D7523C2/data/Containers/Data/Application/CF3BF7FD-CE84-439E-9BB9-EF318D685F81/Library/Caches", "DCIMDir": undefined, "DocumentDir": "/Users/testuser/Library/Developer/CoreSimulator/Devices/2CDC9FD4-9CA6-4FDC-BBBA-12A17D7523C2/data/Containers/Data/Application/CF3BF7FD-CE84-439E-9BB9-EF318D685F81/Documents", "DownloadDir": "/Users/testuser/Library/Developer/CoreSimulator/Devices/2CDC9FD4-9CA6-4FDC-BBBA-12A17D7523C2/data/Containers/Data/Application/CF3BF7FD-CE84-439E-9BB9-EF318D685F81/Downloads", "LibraryDir": "/Users/testuser/Library/Developer/CoreSimulator/Devices/2CDC9FD4-9CA6-4FDC-BBBA-12A17D7523C2/data/Containers/Data/Application/CF3BF7FD-CE84-439E-9BB9-EF318D685F81/Library", "MainBundleDir": "/Users/testuser/Library/Developer/CoreSimulator/Devices/2CDC9FD4-9CA6-4FDC-BBBA-12A17D7523C2/data/Containers/Bundle/Application/C6148120-2378-44B7-BE2A-B4FFBDE6668D/TypeTest.app", "MovieDir": "/Users/testuser/Library/Developer/CoreSimulator/Devices/2CDC9FD4-9CA6-4FDC-BBBA-12A17D7523C2/data/Containers/Data/Application/CF3BF7FD-CE84-439E-9BB9-EF318D685F81/Movies", "MusicDir": "/Users/testuser/Library/Developer/CoreSimulator/Devices/2CDC9FD4-9CA6-4FDC-BBBA-12A17D7523C2/data/Containers/Data/Application/CF3BF7FD-CE84-439E-9BB9-EF318D685F81/Music", "PictureDir": "/Users/testuser/Library/Developer/CoreSimulator/Devices/2CDC9FD4-9CA6-4FDC-BBBA-12A17D7523C2/data/Containers/Data/Application/CF3BF7FD-CE84-439E-9BB9-EF318D685F81/Pictures", "SDCardApplicationDir": undefined, "SDCardDir": undefined}

当用户登录时,是否可以在项目文件夹或其他目录中下载JSON,然后在另一个屏幕中导入该文件?

您不能在运行时将下载到设备存储的文件import。您需要从文件系统中读取它才能使用该文件。

但根据你的设置,有更容易的方法来完成你想要完成的事情。我建议您将json文件内容保存到应用程序状态(如redux或任何其他状态管理解决方案(,并在获取新json后更新状态。如果您想在两次启动之间保持更新状态,可以使用redux-persist,这样您就不必担心内容是最新的。

相关内容

最新更新