안녕하세요!
리액트에서 자바스크립트의 prototype을 사용하는 방법이 궁금해서 문의 드립니다. (클래스형 컴포넌트 x)
먼저 자바스크립트코드로 되있는 코드입니다.
function User(data) {
this.idx = data.idx;
this.name = data.name;
this.getUsername = function() {
return this.name;
}
this.sayHello = function() {
console.log("Hello")
}
}
대략 이런 코드를 리액트에 가져와 사용해야 하는데
저 User 함수 자체를 import해서 사용하게 되면
import User from './user.js'
function Acomponent(props){
const data = {
name : "이름",
idx : 1
}
let user = new user(data);
user._self.sayHello() // console : hello
const getname = user._self.getUsername ()
console.log(getname); // "이름"
}
만약 여기서 "_self" 를 빼고
user.getUsername () 하게되면 error 가 나옵니다.
-----------------------------
위처럼 _self 붙혀서 사용하면 되긴 되는데 하면서 이렇게 사용하는건 아닌것 같은데 라는 느낌이 강하게 들어서..
리액트에서 class or 프로토타입을 만들어서 위의 User객체들을 만들어 사용하는 방법이 따로 있는지 궁금합니다!