Javascript TypeError:null不是对象(正在计算';prevState.intervalTimer';)

Javascript TypeError:null不是对象(正在计算';prevState.intervalTimer';),javascript,reactjs,react-native,redux,expo,Javascript,Reactjs,React Native,Redux,Expo,我的expo应用程序在与prettier发生冲突后停止了。我拉了一个新的分支,禁用了vscode上的任何代码格式化,即使npm安装现在需要——旧的对等部门来工作,但事情开始一个接一个地得到修复。现在它给出了一个错误代码TypeError:null不是一个对象(评估'prevState.intervalTimer'),我似乎无法理解它抛出此错误的原因 这就是我使用的'prevState.intervalTimer')(在我的主屏幕中) 我的代码中没有其他地方有prevState.intervalT

我的expo应用程序在与prettier发生冲突后停止了。我拉了一个新的分支,禁用了vscode上的任何代码格式化,即使
npm安装
现在需要
——旧的对等部门
来工作,但事情开始一个接一个地得到修复。现在它给出了一个错误代码
TypeError:null不是一个对象(评估'prevState.intervalTimer')
,我似乎无法理解它抛出此错误的原因

这就是我使用的
'prevState.intervalTimer')
(在我的主屏幕中)

我的代码中没有其他地方有
prevState.intervalTimer

我的
间隔计时器的一部分是:

    case TIMER.START_REST_TIMER: {
      const { initialTime, exercise } = action.payload;
      return {
        ...state,
        initial_rest_time: initialTime,
        rest_time: initialTime,
        rest_exercise: exercise
      }
    }
    case TIMER.TICK_REST_TIMER: {
      return {
          ...state,
          rest_time: state.rest_time - 1
      }
    }
    case TIMER.STOP_REST_TIMER: {
      return {
        ...state,
        rest_time: state.initial_rest_time,
        initial_rest_time: null,
        rest_exercise: null
      }
    }
    default:
      return state;
  }
};

export default intervalTimer;
我通过
MapStateTops

const mapStateToProps = ( state ) => ( {
  rest_time: state.intervalTimer.rest_time,
  rest_exercise: state.intervalTimer.rest_exercise
} );

所有这些代码都保持不变,我将它们与我的旧代码进行了比较,我不知道为什么会失败,但这是一个向我抛出的错误。

它最初是空的,因此您可以使用可选的链接操作符来处理它

if ((prevState?.intervalTimer || {}).rest_time === this.props.rest_time) {
      !!this.horizRef.current && this.horizRef.current.scrollTo({ animated: false, x: 0, y: 0 });
    }
if ((prevState?.intervalTimer || {}).rest_time === this.props.rest_time) {
      !!this.horizRef.current && this.horizRef.current.scrollTo({ animated: false, x: 0, y: 0 });
    }