반응형
React 구성 요소에서 사용자 지정 함수 생성
React 컴포넌트가 있다.
export default class Archive extends React.Component {
...
}
componentDidMount
그리고.onClick
메서드는 파라미터가 약간 변경된 것을 제외하고 부분적으로 동일한 코드를 사용합니다.
컴포넌트 클래스 내에서 기능을 생성하여 컴포넌트의 범위에서 재사용할 수 있습니까?
반응 성분에서 함수를 생성할 수 있습니다.이 클래스는 실제로 다음에서 상속되는 일반 ES6 클래스입니다.React.Component
에 기재되어 있는 올바른 컨텍스트에 바인드 하는 것만으로 주의해 주세요.onClick
이벤트:
export default class Archive extends React.Component {
saySomething(something) {
console.log(something);
}
handleClick(e) {
this.saySomething("element clicked");
}
componentDidMount() {
this.saySomething("component did mount");
}
render() {
return <button onClick={this.handleClick.bind(this)} value="Click me" />;
}
}
다른 방법:
export default class Archive extends React.Component {
saySomething = (something) => {
console.log(something);
}
handleClick = (e) => {
this.saySomething("element clicked");
}
componentDidMount() {
this.saySomething("component did mount");
}
render() {
return <button onClick={this.handleClick} value="Click me" />;
}
}
이 형식에서는 사용할 필요가 없습니다.bind
이거 드셔보세요.
// Author: Hannad Rehman Sat Jun 03 2017 12:59:09 GMT+0530 (India Standard Time)
import React from 'react';
import RippleButton from '../../Components/RippleButton/rippleButton.jsx';
class HtmlComponents extends React.Component {
constructor(props){
super(props);
this.rippleClickFunction=this.rippleClickFunction.bind(this);
}
rippleClickFunction(){
//do stuff.
// foo==bar
}
render() {
return (
<article>
<h1>React Components</h1>
<RippleButton onClick={this.rippleClickFunction}/>
</article>
);
}
}
export default HtmlComponents;
유일한 관심사는 콘텍스트를 함수에 바인딩해야 한다는 것입니다.
리액트 기능 탑재
import React, { useEffect } from "react";
import ReactDOM from "react-dom";
import Button from "@material-ui/core/Button";
const App = () => {
const saySomething = (something) => {
console.log(something);
};
useEffect(() => {
saySomething("from useEffect");
});
const handleClick = (e) => {
saySomething("element clicked");
};
return (
<Button variant="contained" color="primary" onClick={handleClick}>
Hello World
</Button>
);
};
ReactDOM.render(<App />, document.querySelector("#app"));
https://codesandbox.io/s/currying-meadow-gm9g0
언급URL : https://stackoverflow.com/questions/34875557/creating-custom-function-in-react-component
반응형
'sourcecode' 카테고리의 다른 글
Woocommerce 3.2+의 주문에 프로그래밍 방식으로 할인 추가 (0) | 2023.03.29 |
---|---|
ORA-00972 식별자가 너무 깁니다. 별칭 열 이름입니다. (0) | 2023.03.29 |
C#을 사용하여 서버에 JSON을 게시하려면 어떻게 해야 합니까? (0) | 2023.03.29 |
useState 초기값을 함수로 사용하는 경우 (0) | 2023.03.29 |
IOS9 WK Web View접근 제어 허가 발신지 (0) | 2023.03.29 |