Где я могу разместить операции CRUD в приложении actjs?

В Интернете полно людей, говорящих мне, что я не так реагирую. Я уверен, что они правы, так как я только начал. Общеизвестным трюизмом является то, что реакция - это просто слой вида. Это замечательно, но это заставляет меня задуматься о том, куда мне положить другие мои вещи?

У меня есть довольно простой набор компонентов, которые вместе показывают список вложенных типов данных и позволяют некоторое редактирование, создание и удаление вещей. Компоненты, которые используют данные, передают их через подпорки по иерархии от родительского элемента, который извлекает данные. Если эти операции чтения идут куда-то еще, если это "просто слой представления"

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

2 ответа

Решение

Я предлагаю вам попробовать некоторую архитектуру потока. В этом случае это будет выглядеть так, как описано ниже:

  • Вы вызываете действие при нажатии кнопки удаления, например actions.deleteUser(1)
  • Действие вызывает соответствующий API
  • Храните подключенный к вашим изменениям компонента и изменениям состояния компонента
  • компонент перерисовывается автоматически

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

В реакции данные передаются только от родительского компонента к дочернему компоненту. Я предполагаю, что ваше состояние хранится в родительском компоненте, так как вы создаете, обновляете и удаляете в отдельных компонентах. Состояние может быть изменено только путем вызова setState() функционировать на нем. Поэтому дочерние компоненты не могут изменять состояние приложения. Это может быть сделано только с помощью функции обратного вызова.

Функция удаления будет записана в родительском компоненте и будет передана для удаления компонента в качестве реквизита. Затем компонент удаления вызовет функцию удаления (обратный вызов), которая вызовет setState() для состояния родительского компонента и тем самым изменит его состояние. Никогда не изменяйте состояние приложения без setState().

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

Другие вопросы по тегам