Как можно получить после публикации в реагировать на родной? - PullRequest
0 голосов
/ 28 апреля 2020

В реакции-нативе я определил представление, предназначенное исключительно для публикации, а затем представление, в котором все сообщения обрабатываются с помощью .map. Проблема возникает, когда речь заходит о пользовательском опыте, раздражает «тянуть, чтобы обновить sh» после того, как пользователь что-то опубликовал, возможно, даже в первый раз, когда пользователь поверит, что он не добавил ни одного сообщения. Итак, я хочу, чтобы приложение автоматически получало информацию снова после того, как пользователь что-то опубликовал.

Итак, позвольте мне показать вам мой код:

<Button icon="plus" mode="contained" text="#1ebc61" color="white" onPress={() => {
     this.addHomework()
     this.props.navigation.navigate("ViewSubject")
   }}>
      Add Homework
</Button>

По сути, это то, что я делаю, когда пользователи нажимают кнопку "Добавить домашнее задание".

Но я не уверен, как снова получить домашние задания, когда пользователь возвращается на ViewSubject.

Некоторые люди говорили мне, что это может быть достигнуто с помощью Redux, но я Я не уверен, как использовать Redux в компоненте класса. Если есть какая-либо альтернатива, кроме использования Redux, было бы здорово узнать, как.

1 Ответ

0 голосов
/ 28 апреля 2020

Позвольте мне представить фрагмент кода, который может вам помочь,

Проблема в том, что ваша навигация происходит даже до того, как ваше действие после публикации успешно завершено, поэтому она не может получить обновленные данные в ViewSubject Экран

addHomework() {
    return new Promise((resolve, reject) => {
        axios.post(YOUR_URL, formData, {
            headers: {
                'Accept': 'application/json',
                'Content-Type': 'application/json'
            }
        }).then((response) => {
            resolve(response);
        }).catch((error) => {
            reject(error)
        })
    })
}

render() {
    return (
        <>
            <Button icon="plus" mode="contained" text="#1ebc61" color="white" onPress={() => {
                this.addHomework().then(() => {
                    this.props.navigation.navigate("ViewSubject")
                }).catch((err) => {
                    console.log(err)
                });
            }}>
                Add Homework
            </Button>
        </>
    );
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...