Programing

기본 반응:구성 요소 항상 실행

c10106 2022. 4. 8. 20:46
반응형

기본 반응:구성 요소 항상 실행

사실 나도 잘 모르겠어, 이 질문의 이름을 어떻게 지어야 할지!

서버에서 데이터를 가져와 로컬 데이터베이스와 비교하는 리액션 네이티브 JS 파일이 있어동시에 실행하려면 이게 필요한데 어떻게 하면 되지?앱이 시작될 때 실행되어야 하며 뷰 변경(다른 구성 요소에 대한 변경)이 앱을 파괴해서는 안 되며 실행 중이어야 한다.

해결책은?

당신은 다음과 같은 것의 디자인 패턴을 설명하고 있다.싱글톤.

다음 절차를 따르십시오.

let instance = null;

class Singleton{  
    constructor() {
        if(!instance){
              instance = this;
        }

        // to test whether we have singleton or not
        this.time = new Date()

        return instance;
      }
}

위의 수업에서 싱글톤을 테스트하면서 싱글톤이 제대로 작동하는지 확인하기 위한 시간 특성을 정의했다.

 let singleton = new Singleton()
 console.log(singleton.time);

 setTimeout(function(){
   let singleton = new Singleton();
   console.log(singleton.time);
 },4000);

두 경우 모두 같은 시간을 인쇄하면 싱글톤으로 작업할 수 있다는 뜻하지

이제 서버 데이터를 비동기식으로 싱글톤 내부에 로드하여 원하는 작업을 수행할 수 있다.당신이 싱글톤 클래스에 접근하려고 할 때마다, 그것은 동일한 인스턴스가 될 것이고 그것은 한 번 이상 인스턴스화되지 않을 것이다.다시 말해, 파괴되지 않을 것이다.

출처: http://amanvirk.me/singleton-classes-in-es6/

파티에 늦었지만 이게 다른 사람에게 도움이 될 수도 있어

한 가지 방법은 싱글톤 수업을 만드는 것이다.그러나 다른 옵션은 네비게이션 파일에 대한 컨테이너를 만드는 것이다.> 항법용기는 아이가 주요 항법장치인 정상부품에 불과하다.

네비게이션 컨테이너에 있는 코드는 항상 작동하고 있어.

나는 이런 항법 용기를 사용한다.

     export default function App() {
        return (
            <Provider store={store}>
                    <NavigationContainer />
            </Provider>
           );
         }

그리고 이 항해 컨테이너에서 나는 > 이렇게 네비게이터 구성요소를 반납한다.

    return (
 <AuthNavigator ref={navRef} />
    );

참조URL: https://stackoverflow.com/questions/39740588/react-native-always-running-component

반응형