Правильный способ использования API с React / Redux

0

Я немного запутался в жизненном цикле компонентов в React. Рассмотрим компонент, который загружает свое начальное состояние, отправив действие, getTodo() и обновив состояние всего приложения

    componentDidMount() {
      var _this = this;
      axios.get('/api/todo').then(function(response) {
        _this.props.actions.getTodo(response.data);
      }).catch(function(err) {
        console.log(err);
      });
    }

Что я могу использовать в componentWillUnmount() чтобы предотвратить утечку памяти? Если я захочу сделать это, как можно будет обновить состояние, когда я вернусь на страницу с другой страницы с помощью этого метода?

Кроме того, лучше ли просто хранить реквизиты, которые мне нужны для страницы, как состояние и обновление состояния? Моя озабоченность этим подходом заключается в том, что он просто не обновляет состояние всего приложения и других компонентов, которым может потребоваться тот же реквизит, придется пройти через тот же ненужный процесс, чего можно было бы избежать, используя первый подход.

Теги:
redux

1 ответ

1
Лучший ответ

Вы должны избегать вызова api в компоненте. React предлагает интерфейс "ничего" больше.

Вы должны отправить действие. На самом деле можно использовать создатель действия (check redux-thunk или redux-api-middleware). Ваше государственное приложение должно храниться в магазине redux, а не в вашем интерфейсе.

Вероятно, у вас есть "верхний" компонент, который будет монтировать только один раз, он может отправить это действие (действие, которое может получить начальное состояние)

Надеюсь, это поможет

Ещё вопросы

Сообщество Overcoder
Наверх
Меню