React native 如何在本地存储中存储和读取json文件的文件内容

React native 如何在本地存储中存储和读取json文件的文件内容,react-native,react-native-android,react-native-ios,asyncstorage,React Native,React Native Android,React Native Ios,Asyncstorage,我有一个json文件:data.json [ { "userId": 1, "id": 1, "title": "sunt aut facere repellat provident occaecati excepturi optio reprehenderit", "body": "quia et suscipit\nsuscip

我有一个json文件:
data.json

[
    {
      "userId": 1,
      "id": 1,
      "title": "sunt aut facere repellat provident occaecati excepturi optio reprehenderit",
      "body": "quia et suscipit\nsuscipit recusandae consequuntur expedita et cum\nreprehenderit molestiae ut ut quas totam\nnostrum rerum est autem sunt rem eveniet architecto"
    },
    {
      "userId": 1,
      "id": 2,
      "title": "qui est esse",
      "body": "est rerum tempore vitae\nsequi sint nihil reprehenderit dolor beatae ea dolores neque\nfugiat blanditiis voluptate porro vel nihil molestiae ut reiciendis\nqui aperiam non debitis possimus qui neque nisi nulla"
    },
    {
      "userId": 1,
      "id": 3,
      "title": "ea molestias quasi exercitationem repellat qui ipsa sit aut",
      "body": "et iusto sed quo iure\nvoluptatem occaecati omnis eligendi aut ad\nvoluptatem doloribus vel accusantium quis pariatur\nmolestiae porro eius odio et labore et velit aut"
    },
    {
      "userId": 1,
      "id": 4,
      "title": "eum et est occaecati",
      "body": "ullam et saepe reiciendis voluptatem adipisci\nsit amet autem assumenda provident rerum culpa\nquis hic commodi nesciunt rem tenetur doloremque ipsam iure\nquis sunt voluptatem rerum illo velit"
    }
]
我想将文件内容保存在本地存储器中,然后从本地存储器读取文件内容。因此,尝试了以下方法:

import AsyncStorage from '@react-native-async-storage/async-storage';
import * as data from "../data.json";    // MY JSON FILE

const setLocalItem = async (data) => {
    try {
        const jsonValue = JSON.stringify(data)
        await AsyncStorage.setItem('@storage_Key', jsonValue);
    } catch (error) { }
};

const getLocalItem = async () => {
    try {
        const jsonValue = await AsyncStorage.getItem('@storage_Key')
        console.log(jsonValue);
        return jsonValue != null ? JSON.parse(jsonValue) : null;
    } catch (e) {
        // error reading value
        console.log(e);
    }
}

<>
    <TouchableOpacity onPress={setLocalItem}>
        <Text>Save file</Text>
    </TouchableOpacity>
    <TouchableOpacity onPress={getLocalItem}>
        <Text>Get file</Text>
    </TouchableOpacity>
</>
从'@react native async storage/async storage'导入异步存储;
从“./data.json”//导入*作为数据我的JSON文件
const setLocalItem=async(数据)=>{
试一试{
const jsonValue=JSON.stringify(数据)
等待AsyncStorage.setItem('@storage_Key',jsonValue);
}捕获(错误){}
};
const getLocalItem=async()=>{
试一试{
const jsonValue=wait AsyncStorage.getItem(“@storage\u Key”)
log(jsonValue);
返回jsonValue!=null?JSON.parse(jsonValue):null;
}捕获(e){
//读取值时出错
控制台日志(e);
}
}
保存文件
获取文件

当我单击
Get file
时,我在控制台中得到
null
。我不知道我在这件事上哪里做错了。请帮助

您的
setLocaleItem
接受
数据
参数,但您调用它时没有参数。解决这一问题的一种方法是:

<TouchableOpacity onPress={() => setLocalItem(data)}>
  <Text>Save file</Text>
</TouchableOpacity>
然后保留您的原始版本:

<TouchableOpacity onPress={setLocalItem}>
  <Text>Save file</Text>
</TouchableOpacity>

保存文件

这解决了您的问题吗?如果是的话,你能把它标记为接受吗?
<TouchableOpacity onPress={setLocalItem}>
  <Text>Save file</Text>
</TouchableOpacity>