npm: react-native-screens

Android에서는 활동이 다시 시작될 때 보기 상태가 일관되게 유지되지 않으므로 이러한 경우 충돌이 발생할 수 있습니다. 이러한 충돌을 방지하려면 기본 활동에서 활동이 다시 시작될 때 호출되는 기본 Android 메서드를 재정의하는 것이 좋습니다.

React-native 으로 구축된 앱을 사용하는 대부분의 사람들에게 이는 아마 android/app/src/main/java/<패키지 이름>/MainActivity.java에 있는 MainActivity.java를 편집하는 것을 의미합니다.

충돌로 이어지는 불일치를 방지하려면 활동 다시 시작 프로세스 중에 지속된 모든 활동 상태를 삭제하는 이 코드를 추가해야 합니다.

재정의 코드는 MainActivityDelegate 내부에 배치되지 않고 MainActivity에 직접 배치되어야 합니다.

import android.os.Bundle;

public class MainActivity extends ReactActivity {

    //...code

    //react-native-screens override
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(null);
    }

    public static class MainActivityDelegate extends ReactActivityDelegate {
        //...code
    }
}