Программно перезапустить приложение React Native

Можно ли программно перезапустить приложение React Native без написания собственного кода?

Например, я знаю из ответа на этот вопрос, что я могу перезапустить приложение для Android с помощью

Intent i = getBaseContext().getPackageManager()
         .getLaunchIntentForPackage( getBaseContext().getPackageName() );
i.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(i);

Могу ли я сделать то же самое с React Native?

Ответ 1

Если вы хотите перезапустить только часть JS, вы можете использовать React Native Restart Package. Это будет работать как на Android, так и на iOS.

Если вы хотите перезапустить все приложение, на данный момент нет соответствующих пакетов. Если вы хотите создать самостоятельно, проверьте следующую ссылку

Создание пользовательского модуля Android для React Native

Если вам трудно написать базовый код JAVA, вы можете сгенерировать шаблон с помощью React Native Create Library

Ответ 2

В дополнение к тому, что было сказано выше, вы можете перезапустить приложение с помощью Codepush следующим образом:

import CodePush from 'react-native-code-push';
CodePush.restartApp();

Фактически, это то, откуда React Native Restart Package получил свой код.

Ответ 3

Вы можете использовать ReactInstanceManager, как это

    final ReactInstanceManager instanceManager = getReactInstanceManager();
    instanceManager.recreateReactContextInBackground();

Ответ 5

Вы можете сделать следующее:

yarn add react-native-restart
react-native link react-native-restart

и используйте его следующим образом:

import RNRestart from 'react-native-restart'; // Import package from node modules

// Immediately reload the React Native Bundle
RNRestart.Restart();