У меня есть функция React Native, встроенная в приложение Android.Мне нужно обновить ActionBar Android Activity с собственного экрана React.Я получил это работает с помощью моста и вызова моста из файла JS.
В течение некоторого времени я сталкиваюсь с одной проблемой, если я перехожу с одного собственного экрана React на другой, и заголовок панели действий обновляется правильно, но если я использую « кнопка возврата »чтобы вернуться к предыдущему экрану, он не обновляет заголовок панели действий.Вот фрагмент кода:
Bridge.java
@ReactMethod
public void setActionBarTitle(String title) {
final String actionBarTitle = title;
runOnUiThread(new Runnable() {
@Override
public void run() {
final Activity activity = getCurrentActivity();
activity.setTitle(actionBarTitle);
}
});
}
ReactScreen.js
componentDidMount() {
NativeModules.ActivityStarter.setActionBarTitle(this.props.item.defectType)
}
У меня естьпопытался также использовать componentWillReceiveProps (), но он не получает обратного вызова при использовании кнопки «Назад» в Android.
Кроме того, я использую StackNavigator из реагирующей навигации, поэтому он предоставляет BackHandler, который переопределяет нажатие кнопки назад, но это не кажется правильным решением, я думаю, что один из методов жизненного цикла должен получитьобратный вызов при обратном нажатии.