реагировать на собственный поток маршрутизатора, выполнять функцию сохранения при нажатии кнопки возврата заголовка - PullRequest
0 голосов
/ 08 апреля 2019

Я нашел способ сделать это при запуске страницы действий, например Actions.Home ({onBack: () => console.log ('custom back callback')});Однако я не думаю, что это будет работать для меня.Вот макет экрана того, как клиент хочет, чтобы приложение было выполнено: enter image description here, где кнопка «Назад» будет работать как кнопка сохранения для страницы ввода данных.

Я не верю, что смогу передать функцию при запуске страницы, которая сможет обрабатывать введенные данные.

Мне нужно обработать данные и сохранить их, затем продолжите, чтобы вернуться на предыдущую страницу, или если данные недействительны, я хочу сказать «Оставайтесь и вносите изменения, или оставляйте без сохранения?».

Как я могу предоставить эту функцию onBackкак только я попаду на страницу и получу доступ к полям, с которыми они будут работать?

Ответы [ 2 ]

0 голосов
/ 26 апреля 2019

В методе render () вы можете добавить панель навигации, содержащую кнопку «Назад», и при нажатии этой кнопки «Назад» вызывается функция «onTap ()», тогда вы можете написать все, что захотите, в функции onTap (),Чтобы вернуться назад, вы можете использовать метод Actions.pop ().

Таким образом, вы можете делать то же самое, если данные обрабатываются. Actions.pop () иначе делать что-то еще.

0 голосов
/ 08 апреля 2019

Я нашел (или, по крайней мере, a ) способ сделать это.В componentDidMount вы хотите обновить страницу и предоставить функцию onBack теперь, когда у вас есть доступ к ней:

componentDidMount() {
    setTimeout(()=> {
        Actions.refresh({onBack:()=>this.onBack()})
    });
}
...