내 애플리케이션에서 일부 스타일을 추상화 한 React에서 만든 <Button />
구성 요소가 있습니다. 두 가지 다른 상황에서 사용하고 있습니다. 하나는 로그인 양식을 제출하고, 다른 하나는 등록 페이지 (및 앞으로 다른 컨텍스트)로 이동하는 것입니다.React에서 하위 구성 요소에 이벤트 처리기를 전달하는 방법
부모 구성 요소의 이벤트 처리기를 <Button />
으로 전달하는 방법을 알아 내려고합니다. 로그인 폼에 onSubmit
처리기를 호출하고 싶지만 탐색 버튼에는 onClick
처리기를 호출하고 싶습니다. 이것이 가능한가? 나는 또한 단지 구성 요소가로드 될 때 실행하는 기능을 유발하는 화살표 기능을 제거하려고했습니다
<Button text={callToAction} style={styles.callToActionButton} onClick={() => FlowRouter.go("Auth")}/>
<Button text="Go!" style={styles.registerButton} onSubmit={() => this.register(this.state.user, this.state.password)}/>
:
는이 같은 구성 요소를 호출 시도
// executes event handlers on page load
<Button text={callToAction} style={styles.callToActionButton} onClick={FlowRouter.go("Auth")}/>
<Button text="Go!" style={styles.registerButton} onSubmit={this.register(this.state.user, this.state.password)}/>
그냥'{this.register}' 그 등록 방법에서 사용자의 상태를 가져와야합니다 (매개 변수로 전달할 필요 없음) – Icepickle
이것을 확장 할 수 있습니까? onClick 이벤트 처리기가 다른 구성 요소와 함께 작동하도록하는 행운을 얻지는 못합니다. – bgmaster
잘 finalfreq 이미 좋은 예제를 주었다. 보다 자세한 정보를 얻으려면 상위 구성 요소가 어떻게 구현되는지 확인하는 것이 좋습니다. 그의 경우 이벤트 처리기를 자식 구성 요소의 소품으로 전달하고 자식 구성 요소가 부모 컨트롤의 함수를 호출합니다 – Icepickle