使用React Native中的React Navigation route.params中的值获取本地JSON文件



我有几个本地JSON文件,我想根据从route.params 获得的值动态获取它们

当我使用import "../data/data.json"时,它是有效的,但是route.params值当时不可用。

当我也使用const data = require("../data/data.json")时,它在files目录是静态的时工作,而我试图使其动态,但它不工作。(我读过stackerflow关于为什么没有的回答(。我想知道的是如何动态获取本地.json文件?

我尝试过的一些代码片段:

const data = require(`../Quizes/${cat}/${subcat}/data.json`)

其中cat和subcat是路线参数

axios.get(`../Quizes/${cat}/${subcat}/data.json`, {headers})
.then(res => console.log(res))
.catch(err => console.log(err.message));
console.log(post)
}, []);

有了以上内容,我得到了网络错误

我还尝试使用setTimeout来延迟const data = require(/测试/${cat}/${subcat}/data.json),以便首先加载cat和subcat,但仍然不起作用。

您可以将所有文件预加载到对象中,然后只需选择正确的

示例:

import Cat1subCat1 from '../../data.json'
import Cat1subCat2 from '../../data.json'
import Cat2subCat1 from '../../data.json'
import Cat2subCat2 from '../../data.json'
function selectCategory(cat, subCat) {
const categories = {
cat1: { Cat1subCat1, Cat1subCat2 },
cat2: { Cat2subCat1, Cat2subCat2 },
// etc
}
return categories[cat][subCat]
}

相关内容

  • 没有找到相关文章

最新更新