1 回答
TA贡献1853条经验 获得超6个赞
忽略我之前的回答,这是因为您在变量中存储了一个对象data,但是当您尝试传播它时,您将其视为一个数组。
我建议将费用数组存储在其自己单独的状态中,因为您目前在那里没有其他数据。
const [data, setData] = useState([]);
应该解决你的问题。然后替换data.expenses.map用data.map,并writeData(result.data)用writeData(result.data.expenses)。
全部一起:
const [data, setData] = useState([]);
const Realm = require("realm");
useEffect(() => {
const fetchData = async () => {
const result = await axios(
'http://localhost:3000/expenses?limit=10&offset=0',
);
writeData(result.data.expenses)
};
fetchData();
}, []);
const writeData = data =>{
Realm.open({
schema: [ExpenseSchema, UserSchema, AmountSchema]
}).then(realm => {
realm.write(() => {
data.map((expense) => {
realm.create ('expense',expense)
setData ([...data, expense]); //returns an error. same if i use Object.values(expense)
console.log (expense)
});
});
});
}
添加回答
举报