2017-10-13 13 views
0

부모 구성 요소가 있습니다. 내 자식 구성 요소에는 일부 옵션이있는 선택 필드가 있으며 클릭하면 부모 상태를 업데이트해야하지만 변경하지 않아야합니다. 나는 onChange()이 발생했을 때 실행되어야하는 기능에 디버거를 던졌지 만 절대로 안타. 내가 여기서 어디로 잘못 가고 있니?에서 변경하십시오. <select> 필드가 실행되지 않습니다.

<PastSessions 
    updateModal={this.updateModal.bind(this)} 
/> 

을 그리고 여기에 선택 필드 내 Child Component입니다 :

Parent Component Function

updateModal(evt) { 
    this.setState({ reason: evt.target.value}) 
} 

그래서 같은 소품으로 통과시켰다.

<select value={this.props.reason} onChange={this.props.updateModal}> 
    <option value='One'>One</option> 
    <option value='Two'>Two</option> 
    <option value='Three'>Three</option> 
</select> 
+0

랩 등이

<select value={this.props.reason} onChange={this.props.handleUpdateChange}>

작품처럼라고 그래서

handleUpdateChange={this.handleUpdateChange.bind(this)}

같은 소품으로 전달 this.props.updateModal 다른 fu를 가진 당신의 아이 분대에서 nunc – Sri

답변

0

나는 그것을 다시 작성하고 작동합니다. 다음과 같습니다

handleUpdateChange(e) { 
    this.setState({ 
     reason: e.target.value 
    }) 
    } 

매력

+1

변수 이름과 함수 이름을 따로두면 원래 질문의 코드와 정확히 같지 않습니까? – Jaxx

+0

네, 실제로입니다. 나는'let handleUpdateChange =() => {...}'와 같은 것으로 자체 해석 함수로 정의한 다음 'select'의'value'가 변경되도록 허용하는 다른 대답을했지만 제출을 명중 할 때 저장하지 않을 것입니다, 그래서 나는 빠른 google 수색 다음에 이것을 바꿨다 그리고 그것은 완벽하다. 당신은 완전히 옳았 습니다만, 이것이 내가 시작했던 것과 다른 점은 모르겠지만 ... –