Javascript TypeError:无法读取属性';推动';react js中null的定义

Javascript TypeError:无法读取属性';推动';react js中null的定义,javascript,reactjs,Javascript,Reactjs,transactionlist.js文件 import React from 'react'; import TransationForm from './transactionsForm'; class TransationList extends React.Component { state = { list: this.returnList() } returnList() { if(localStorage.getItem(

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;
从“React”导入React;
从“/TransactionForm”导入TransactionForm;
类TransactionList扩展了React.Component{
状态={
列表:this.returnList()
}
返回列表(){
if(localStorage.getItem('transactions')==null)
localStorage.setItem('transactions',JSON.stringify([]))
返回JSON.parse(localStorage.getItem('transactions'))
}
OnAddRedit=(数据)=>{
var list=this.returnList()
列表.推送(数据)
localStorage.setItem('transactions',JSON.stringify([list]))
this.setState({list})
}
render(){
返回(
);
}
}
导出默认事务列表;

这里的问题是,您正在将带有键的空白数组存储为
事务
,但您正在获取数据键
事务
。注意:其他键中缺少
c

因此,您的返回声明应该是:-

return JSON.parse(localStorage.getItem('transactions'))

你的函数this.returnList()返回null,这就是你面临错误的原因我如何修复,我是新来的反应你能解释一下吗,错误是“TypeError:无法读取null的属性'push'”另一个文件名transactionForm.js类transactionForm扩展了react.Component{state={bAccountNo:'',IFSC:'',分支:'',金额:'}handleInputChange=e=>{this.setState({[e.target.name]:e.target.value}}handleSubmit=e=>{e.preventDefault()this.props.onAddorEdit(this.state)}请检查我的答案。我认为在从本地存储添加和获取数据时,您的密钥有输入错误。非常感谢,它现在正在工作:)如果您觉得此答案有用,请将其向上投票,以便其他人也可以找到它。谢谢!