2017-12-19 21 views
2

RedStruct가 호출 한 mapStateToProps 함수 후에 무엇이 호출되었는지는 알 수없는 상황입니다.mapStateToProps 다음에 호출 될 내용

그래서 주된 질문은 mapStateToProps 함수 다음에 무엇이 호출되는지 아니면 언제 내 소품에 액세스 할 수 있습니까?

답변

2

mapStateToProps 업데이 트를 구성 요소의 소품을 따라서 componentWillReceiveProps 업데이트 된 소품을받을 수있는 기능입니다 당신이 검사를 수행하고

componentWillReceiveProps(nextProps) { 
    if(nextProps['yourMontoringProps'] !== this.props['yourMontoringProps']) { 
     console.log(nextProps) // take action here based on nextProps; 
    } 
} 

P.S.을 필요한 조치를 취할 수있는 곳이다 mapStateToProps에 의해 구성 요소에 전달 된 초기 소품은 componentDidMount/componentWillMount/constructor 함수에서 사용할 수 있으므로이 함수를 사용하여 초기 동작을 수행 할 수 있습니다. componentDidMount은 권장 할만한 장소입니다.

+0

정말 아닙니다. 나는 감속기에서 상태를 바꾸지 않기 때문에. –

+1

연결은 순수하므로 구성 요소에 아무 것도 변경되지 않으면 구성 요소가 다시 렌더링되지 않습니다. 따라서 mapStateToProps가 무언가를 업데이트했다면, 내가 말했듯이, componentWillReceiveProps (this.props가 아니라 nextProps가 아닌) –

+1

에서 사용할 수 있습니다. 그것의 mapStateToProps. 상점에서 데이터를 읽는 것뿐입니다. 가게에서 아무것도 변하지 않을거야. –