类型错误:无法读取 react js 中 null 的属性"push"



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'))

最新更新