亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

React Native:null 不是對象

React Native:null 不是對象

慕的地6264312 2021-10-07 10:23:28
我有一個功能齊全的 Android 應用程序,現在出現此錯誤:null is not an object (evaluating '_this.state.displayErrors') 這是在這里引用這行代碼:_getErrors = () => {    if (this.state.displayErrors) {      return {        ...this.state.validationErrors,        ...this.props.validationErrors      };    }    return {};  };這是一個范圍界定問題嗎?該if聲明沒有訪問displayErrors以外_getErrors的功能?如果是這樣,那么幾周前這到底是怎么工作的?我嘗試放置:this.state = {   validationErrors: {},   displayErrors: false,   titleName: personalDetails && personalDetails.firstName,   displayAlert};里面constructor(props),我相信這是屬于,但后來我得到一噸的關于它的變量,其他問題,如功能personalDetails和displayAlert沒有被定義為變量。最大的痛苦就是displayAlert。
查看完整描述

2 回答

?
精慕HU

TA貢獻1845條經驗 獲得超8個贊

要this.state在構造函數中進行設置,您將需要解構props以獲得所需的值,類似于componentDidMount. 我會完全刪除初始狀態值的設置componentDidMount。


constructor(props) {

    super(props);

    const { personalDetails, personalAddress } = props.registeredUser;

    const { params = {} } = props.navigation.state;

    const { displayAlert = true } = params;


    this.state = {

      validationErrors: {},

      displayErrors: false,

      titleName: personalDetails && personalDetails.firstName,

      displayAlert

    };

  }


  componentDidMount() {

    const { personalDetails, personalAddress } = this.props.registeredUser;

    console.log(this.props.registeredUser);

    if (personalDetails) {

      this.props.firstNameChanged(personalDetails.firstName);

      this.props.lastNameChanged(personalDetails.lastName);

      this.props.suffixChanged(personalDetails.suffix);

      this.props.prefixChanged(personalDetails.prefix);

    }


    if (personalAddress && personalAddress.stateCode) {

      this.props.stateChanged(personalAddress.stateCode);

    }

  }

我不確定這是否會解決您的問題或如何this.state設置為null.


查看完整回答
反對 回復 2021-10-07
?
寶慕林4294392

TA貢獻2021條經驗 獲得超8個贊

我認為問題出在DetailsConfirmationForm組件中的這一行

validationErrors={this._getErrors()}

您正在調用函數而不是傳遞.

嘗試這個

validationErrors={this._getErrors}


查看完整回答
反對 回復 2021-10-07
  • 2 回答
  • 0 關注
  • 196 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號