반응형
Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
Tags
- TypeScript
- sass
- Vue
- HOC
- 자료구조
- Wecode
- MySQL
- Vue.js
- 자바스크립트
- 리액트
- v-html
- nodejs
- 쉬운설명
- express
- JavaScript
- State
- vuex
- storybook
- mapGetters
- 댓글달기
- webpack
- react
- event
- App.vue
- ES6
- scss
- jsx
- CSS
- input
- Vue transition
Archives
- Today
- Total
익명의 개발노트
리액트 이벤트 본문
반응형
이벤트 방식은 html과 비슷하며, 약간다르다.
1. 이벤트효과이름은 camelCase로 작성해야함.
2. 이벤트에 JS코드 전달이 아닌 함수형태의 값을 전달함.
3. DOM요소에만 이벤트 설정할 수 있음. 우리가 만든 컴포넌트에는 이벤트를 줄수 없음.
우리가 만든 컴포넌트에 이벤트를 줘버리면 단순히 이름으로 인식해서 props를 전달해줌.
4. 이벤트의 종류는 많다.
참고 : https://reactjs.org/docs/events.html
이벤트 효과주는법 2가지
1. 랜더링할때 같이 효과부여
import React, {Component} from 'react';
import PropTypes from 'prop-types';
import './EventPractice.css';
class EventPractice extends Component {
constructor(props){
super(props);
this.state={
message : ""
}
}
render() {
return (
<div>
<h1>연습 이벤트</h1>
<input type="text" name="message" placeholder="입력해주세요"
onChange ={
(e)=>
this.setState({
message : e.target.value
})
}
/>
<button onClick={
()=> {
alert(this.state.message);
this.setState({
message : ""
});
}
}>확인</button>
</div>
);
}
}
export default EventPractice;
2. 랜더링전에 이벤트함수 만들기.
import React, {Component} from 'react';
import PropTypes from 'prop-types';
import './EventPractice.css';
class EventPractice extends Component {
constructor(props){
super(props);
this.state={
message : ""
}
this.handleChange = this.handleChange.bind(this); //컴포넌트에 임의메소드 만들면 기본적으로 this에 접근불가능함. bind로 묶어줘야함.
this.handleClick = this.handleClick.bind(this);
}
handleChange =(e)=>{
this.setState({
message:e.target.value
});
}
handleClick =()=>{
alert(this.state.message);
this.setState({
message:''
});
}
render() {
return (
<div>
<h1>연습 이벤트</h1>
<input type="text" name="message" placeholder="입력해주세요"
value={this.state.message}
onChange ={this.handleChange}
/>
<button onClick={this.handleClick}>확인</button>
</div>
);
}
}
export default EventPractice;
반응형
'프로그래밍 > ReactJS' 카테고리의 다른 글
리액트 라이프싸이클 (0) | 2019.04.24 |
---|---|
리액트 Ref (0) | 2019.04.23 |
State (0) | 2019.04.23 |
리액트 JSX 문법 및 props, PropType (0) | 2019.04.23 |
React.js 설치 (0) | 2019.03.15 |
Comments