Javascript TypeError:无法读取属性';总结果';空值(本地存储)

Javascript TypeError:无法读取属性';总结果';空值(本地存储),javascript,local-storage,Javascript,Local Storage,我目前第一次尝试在我的项目中实现localStorage,我已经掌握了其中的大部分内容,但是当我的项目首次在浏览器中加载并且localStorage为空时,我得到了: TypeError: Cannot read property 'totalresults' of null (localStorage) 我知道这是因为项目试图从本地存储读取数据并输出到项目中,如何避免这种情况 我的代码 export default class QuizPage extends Component {

我目前第一次尝试在我的项目中实现localStorage,我已经掌握了其中的大部分内容,但是当我的项目首次在浏览器中加载并且localStorage为空时,我得到了:

TypeError: Cannot read property 'totalresults' of null (localStorage) 

我知道这是因为项目试图从本地存储读取数据并输出到项目中,如何避免这种情况

我的代码

export default class QuizPage extends Component {

    state = {
        results: 0,
        currentCourse:null,
        totalResults: "",
        percentage: "",
        passed: "",
        answered: 0,
        disabled: true,
        courses: []
    }


    componentDidMount(){

        // Read results from localStorage

        const courseResults = JSON.parse(localStorage.getItem(this.props.match.params.course))

        this.setState({
          currentCourse: courseID,
          totalResults: courseResults.totalresults,
          results: courseResults.results,
          passed: courseResults.passed.toLowerCase()
        })

      );


componentDidUpdate(prevProps) {

       // Save current results to localStorage

        const course = {
          result: this.state.results,
          passed: this.state.passed,
          totalresults: this.state.totalResults,
          coursename: this.state.courseName
        }

        localStorage.setItem(this.props.match.params.course, JSON.stringify(course))


      }




第一次,如果本地存储中没有任何内容

const courseResults = JSON.parse(localStorage.getItem(this.props.match.params.course))
将为空

因此,在使用
courseResults
之前,请确保它是真实值:

componentDidMount() {

    const courseResults = JSON.parse(localStorage.getItem(this.props.match.params.course))

    if (courseResults) {
        this.setState({
          currentCourse: courseID,
          totalResults: courseResults.totalresults,
          results: courseResults.results,
          passed: courseResults.passed.toLowerCase()
        })
    }

};