의 수정 상태 반응 반작용, 나는 다음과 같은 주요 구성 요소를했습니다는 유성 유성 1.3을 사용하여 여러 구성 요소
export default class Option extends Component {
constructor(props) {
super(props);
this.state = {
disabled: false
};
}
vote() {
this.setState({ disabled: true });
}
renderButton() {
return this.state.disabled ? 'btn btn-success' : 'btn btn-default';
}
render() {
return (
<li>
<button disabled={ this.state.disabled ? 'disabled' : '' } type="button" className={this.renderButton()} onClick={this.vote.bind(this)}>
Vote
</button>
<span> { this.props.option.text }</span>
</li>
);
}
}
Option.PropTypes = {
option: PropTypes.object.isRequired
};
어떻게 할 수 구성 요소의 vote()
메서드를 호출하는 버튼을 클릭 할 때 각 버튼의 disabled
상태가 true
으로 설정되어있는 경우 Show
구성 요소가 렌더링하는 옵션 중 하나를 선택하면됩니까? 기본적으로 사용자가 클릭 할 수있는 몇 개의 버튼을 렌더링하고 하나를 클릭하면 다른 모든 버튼을 비활성화하려고합니다. 따라서 클릭 할 때 모든 버튼의 상태를 disabled
으로 설정해야합니다.
답변 해 주셔서 감사합니다. 그냥 명확히하기 위해, 부모 컴포넌트의 상태를 옵션 컴포넌트의 소품으로 업데이트하는 함수를 전달해야합니다. – somecode
예. 당신은 어떤 옵션 구성 요소가 부모에서 활성화/비활성화되어 있는지 추적해야합니다. 아마 어떤 종류의 신분증 –