TransactionList.js文件
import React from 'react';
import TransationForm from './transactionsForm';
class TransationList extends React.Component {
state = {
list: this.returnList()
}
returnList() {
if(localStorage.getItem('transations') == null)
localStorage.setItem('transactions',JSON.stringify([]))
return JSON.parse(localStorage.getItem('transations'))
}
onAddorEdit = (data) =>{
var list = this.returnList()
list.push(data)
localStorage.setItem('transactions', JSON.stringify([list]))
this.setState({list})
}
render() {
return (
<div className="container">
<TransationForm
onAddorEdit = {this.onAddorEdit}
/>
</div>
);
}
}
export default TransationList;
这里的问题是,您存储的是密钥为transactions
的空白数组,但您获取的是数据密钥transations
。注意,其他密钥中缺少c
。
所以您的退货声明应该是:-
return JSON.parse(localStorage.getItem('transactions'))