React의 componentWillMount 및 getInitialState

3343 단어
  getInitialState: function(){
      return {objectEntity: this.props.data.ObjectList[this.props.subclaimIndex],
              currentlossCause: this.props.data.LossCause,
              codeTableSubclaimType: this.props.data.CodeTableSubclaimType,
              codeTableDamageType: this.props.data.CodeTableDamageType};
  },

  componentWillMount: function(){
      ClaimHandlingStore.listen(this.onStoreStateChange);
      if(this.props.forModify == "true"){
          var objectEntity = this.props.data.ObjectList[sessionStorage.getItem("ModifySubclaim_index")];
          this.setState({objectEntity, objectEntity});
      }
  }, 

React의 componentWill Mount에서 setState 방법을 사용합니다. 설정된 stater의 키가 getInitialState 방법에 존재하면 다음과 같이 오류가 발생합니다.
 D:/project/GC40/src/claim/module/registration/unicorn-claim-registration-common-ui/src/module/registration/common/component/SubclaimInfo.jsModule parse failed: D:\project\GS40\src\unicornode_modules\babel-loader\index.js!D:\project\GC40\src\claim\module\registration\unicorn-claim-registration-common-ui\src\module\registration\common\component\SubclaimInfo.js Line 61: Duplicate data property in object literal not allowed in strict modeYou may need an appropriate loader to handle this file type.|         if (this.props.forModify == "true") {|             var objectEntity = this.props.data.ObjectList[sessionStorage.getItem("ModifySubclaim_index")];|             this.setState({ objectEntity: objectEntity, objectEntity: objectEntity });|         }|     },
 
 

라이프 사이클 방법


많은 방법들이 구성 요소의 생명 주기에서 특정한 시간에 실행된다.

getInitialState #

object getInitialState() 

구성 요소가 마운트되기 전에 한 번 호출합니다.반환 값은 this.state 의 초기 값으로 사용됩니다.

마운트:componentWillMount

componentWillMount() 

서버 측과 클라이언트는 모두 한 번만 호출되며, 렌더링 실행을 초기화하기 전에 즉시 호출됩니다.이 방법에서 setState 을 호출하면 render() 업데이트된 state를 감지하고 state가 바뀌었음에도 불구하고 한 번만 실행됩니다.

좋은 웹페이지 즐겨찾기