programing

ES6 클래스로 스태틱스 대응

easyjava 2023. 3. 5. 10:31
반응형

ES6 클래스로 스태틱스 대응

statics 객체는 Respect의 ES6 클래스에서 동작합니까?

class SomeComponent extends React.Component {

  render() {
    // ...
  }

}

React.statics = {
  someMethod: function() {
    //...
  }
};

위와 같은 것은 나에게 정의되지 않은 방법을 준다.someMethod할 때SomeComponent.someMethod()

statics와만 연동되다React.createClass. 이 메서드를 스태틱클래스 메서드로 선언하면 됩니다.

class SomeComponent extends React.Component {

  static someMethod() {
    //...
  }

  render() {
    // ...
  }

}

에 관하여

React.statics = { ... }

당신은 말 그대로 'Creating'을 만들고 있습니다.statics의 부동산React물건.이 속성은 마법처럼 구성 요소를 확장하지 않습니다.

비록 ~일지라도statics에만 유효하다React.createClass, ES6 표기로도 스태틱메서드를 쓸 수 있습니다.ES7을 사용하는 경우 정적 속성을 쓸 수도 있습니다.

다음과 같이 ES6+ 클래스 내에 통계 정보를 쓸 수 있습니다.

class Component extends React.Component {
    static propTypes = {
    ...
    }

    static someMethod(){
    }
}

아니면 이렇게 교실 밖을 나가거나

class Component extends React.Component {
   ....
}

Component.propTypes = {...}
Component.someMethod = function(){....}

전자와 같이 쓰고 싶다면, 당신은 그것을 세팅해야 한다.stage: 0(실험 이후) 바벨에서.

컴포넌트를 인스턴스화하지 않고도 스태틱에 액세스할 수 있습니다.보통 그렇게 유용하지는 않지만 몇 가지 특별한 경우가 있습니다.예를 들어 ACTION PERFORM을 실행하여 현재 페이지를 나갈 때 라우팅에 들어가도록 한 다음 Statics 메서드를 통해 사용자에게 페이지를 나갈 것인지 여부를 보류/질문할 수 있습니다.예를 들어 다음과 같습니다.

exampleComponent= React.createClass({
statics:{
        willTransitionFrom: function(transition,component){
            // check any state here or value Aasked the user.
        }
    }
});

will Transition Towill Transition From 라이프 사이클 메서드가 표시됩니다.이러한 메서드는 컴포넌트를 인스턴스화하기 전에 실제로 트랜지션을 취소할 수 있기 때문에 스태틱하게 사용할 수 있습니다.

멈춰요. 리액트를 확장하지 말고 클래스를 선언하세요.컴포넌트와 동작합니다.

class YourStaticClass {

   static YourMethod(){

   }

}
export default YourStaticClass;

다른 클래스에서는 단순히 클래스를 가져오고 함수를 트리거할 수 있습니다.

import YourStaticClass from "whatever";

...
YourStaticClass.YourMethod();
...

statics는 React 컴포넌트에 대해서만 동작합니다.docs참조해 주세요.

언급URL : https://stackoverflow.com/questions/29433130/react-statics-with-es6-classes

반응형