React는 클릭 시 스타일을 변경하는 방법을 구현합니다. 1. setState의 콜백 함수를 통해 클릭하여 상태를 전환할 때 수행되는 기능을 구현합니다. 2. "
이 튜토리얼의 운영 환경: Windows 10 시스템, 반응 버전 18.0.0, Dell G3 컴퓨터.
React에서 클릭 시 스타일을 어떻게 변경하나요?
React 클릭/호버로 CSS 스타일 수정
(1) 클릭하여 스타일 수정
방법 1: (타이프스크립트 작성 방법)
type state = { selected: boolean; }; class Measurement extends Component<{}, state> { constructor(props:any) { super(props); this.state = { selected: false }; } handleClick = (e:any) => { this.setState({ selected: !this.state.selected }, () => { if(!this.state.selected){ this.clearAll(); } }); } private rightBtnStyle: CSSProperties = { background:"url(/assets/images/3.png) no-repeat center", border: "none", color: "white" }; private rightBtnStyle2: CSSProperties = { background:"url(/assets/images/1.png) no-repeat center", border: "none", color: "white" }; //省略具体功能 render() { var currentstyle; if(this.state.selected){ currentstyle=this.rightBtnStyle2; } else{ currentstyle=this.rightBtnStyle; } return( <div className="tool-widget"> <Popover placement="left" content={this.content} trigger="click"> <Button className="right-btn" style={currentstyle} onClick={this.handleClick.bind(this)}></Button> </Popover> </div> ); } };
PS: 여기에서 상태를 전환하기 위해 클릭할 때 수행되는 기능은 다음과 같습니다. setState 함수 구현의 콜백을 통해 수행됩니다.
방법 2: (동적으로 className 추가)
위의 렌더링을 다음으로 대체합니다.
render() { return ( <div className="tool-widget" id="Measurement"> <Popover placement="left" content={this.content} trigger="click"> <Button className={["right-btn", this.state.selected ? "active":null].join(' ')} onClick={this.handleClick.bind(this)}></Button> </Popover> </div> ); }
해당 CSS 파일 추가:
#Measurement { .right-btn{ background:url(./images/3.png) no-repeat center; border:none; color: white; width:100%; height: 100% } .right-btn.active{ background:url(./images/1.png) no-repeat center; } }
권장 학습: "react video tutorial"
위 내용은 반응 클릭시 스타일을 변경하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!