React console.log不显示数组值



控制台它打印数组[]而不是值。我已经检查了代码,但弄清楚了。为什么控制台日志显示我数组值当我点击按钮?

import React from "react";
import { StyleSheet, View, FlatList } from "react-native";
import DataManager from "../config/DataManager";
const getMemories = () => {
let commonData = DataManager.getInstance();
let user = commonData.getUserID();
return commonData.getMemories(user);

}
function MemoriesScreen(props) {
const memoryList = getMemories();
console.log(memoryList);
return (
<AppScreen style={styles.container}>
<FlatList 
data={memoryList}
keyExtractor = {memory => memory.memoryid.toString()}
renderItem = {({item}) => 
<AppCard
title={item.title}
subtitle={item.subtitle}
image={item.image}
category={item.category}
/>}
/>
</AppScreen>
);
}
const styles = StyleSheet.create({
container:{
backgroundColor:AppColors.otherColor,
flex:1,
marginTop:0,
},
})
export default MemoriesScreen;

这是DataManger js屏幕

export default class DataManager {
static myInstance = null;
userID = "";
memories = [
{
userid: "user1",
memoryid: 1,
title: "Memories of School days",
subtitle: "Created on 3rd of January, 2005",
image: require("../assets/School-days.jpeg"),
category: "Childhood",
},
{
userid: "user1",
memoryid: 2,
title: "Memories of School days",
subtitle: "Created on 3rd of January, 2005",
image: require("../assets/School-days.jpeg"),
category: "Childhood",
},
{
userid: "user2",
memoryid: 1,
title: "Memories of School days",
subtitle: "Created on 3rd of January, 2005",
image: require("../assets/School-days.jpeg"),
category: "Childhood",
}

];
static getInstance() {
if (DataManager.myInstance == null) {
DataManager.myInstance = new DataManager();
}
return this.myInstance;
}
getUserID() {
return this.userID;
}
setUserID(id) {
this.userID = id;
}
getMemories(id) {
return this.memories.filter((memory) => memory.userid === id);
}
addMemory(memory){
this.memories.push(memory);
}
}

数组可以为空。在log和检查数组之前输入一些东西,像这样

memoryList.push("test memory"); 
console.log(memoryList);

最新更新