2016-08-25 2 views
0
내가 대해 배우고

이의 라이프 사이클 메소드를 반응 렌더링 완료하고 내가 궁금하네요 상태 반응 최선의 방법을 주소로이 시나리오 :업데이트 후

나는 누군가의 취미에 대한 정보를 가져 오는 요소가

componentWillMount() { 
    this.props.fetchHobbies(this.props.params.id); 
    } 

데이터는 구성 요소의 하단에 소품으로 매핑되는 감속기로 전송됩니다

function mapStateToProps(state) { 
    return { 
    hobbies:state.hobbies.user 
    }; 
} 

내 구성 요소의에 의존하는 구성 요소라는 twitterbootstrap이 상태를 선택하여 어떤 행을 선택했는지 확인하십시오.

const selectRowProp = { 
    mode: 'radio', 
    clickToSelect: true, 
    bgColor: "rgba(139, 195, 74, 0.71)", 
    selected: this.state.selected, 
}; 

여기 내 질문이 있습니다. this.props.hobbies.selected에 액세스하고 싶습니다.

- UPDATE 나는 setState 옵션을 가지고 있으므로 componentWillRecieveProps를 사용하고 있습니다.

componentWillReceiveProps(nextProps){ 
    this.setState({selected:next.props.hobbies }) 
} 

this.props.hobbies.selected를 다음 소품으로 사용하고 싶습니다. 어떻게 통합 할 수 있습니까?

+1

componentWillReceiveProps를 사용할 수 있습니까? – ioseph

+0

@ioseph 팁 주셔서 감사합니다! 나는 약간의 연구를했고 이것이 올바른 방향이라고 생각합니다. this.props.hobbies.selected에 "selected"상태를 설정하는 올바른 구문이 무엇인지 알고 있습니까? – lost9123193

+1

선택됨 : nextProps.hobbies –

답변

1

nextProps는 첫 번째 렌더링 후에 전달 된 props 개체입니다. componentWillReceiveProps 함수에는 next.props라는 함수가 없습니다. 당신은 그런 것을 할 수 있습니다.

componentWillReceiveProps(nextProps){ 
    this.setState({selected:nextProps.hobbies }) 
}