Утверждает в направляющих из моделей или контроллерах?

Инструменты управления базами данных и состояниями, такие как Redux, имеют различные проблемы (хотя они манипулируют одним и тем же: данными).

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

Вы можете решить использовать внутреннее состояние компонента Реакция, которое находится в области компонента. Теперь это прекрасно, если вы планируете использовать данные, которые вы только что получили, в одном и том же компоненте.

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

Это может быть сложно сделать, используя внутреннее состояние компонента React, поскольку (если вы немного попробовали React) вы знаете, что передача данных осуществляется путем передачи подпорок дочерним компонентам.

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

Это может быть утомительно и может привести к ошибкам по мере роста вашего приложения.

Redux - решение, которое решает эту проблему. Это помогает сохранять четкое и чистое состояние, которое вы разделяете в своем приложении, создавая глобальное состояние, которое может быть доступно в любом месте вашего приложения (среди прочего).

6
задан Readonly 28 January 2009 в 23:41
поделиться

3 ответа

Существуют, многие утверждают функции, если Вы пишете тесты. Но для assertiona в основном коде, нет никого, и можно прокрутить собственное легко.

Добавьте что-то вроде этого к environment.rb:

class AssertFailure < Exception
end

def assert(message = 'assertion failed')
  unless block_given? and yield
    raise message
  end
end

и сделайте его не в Вашем environments/production.rb таким образом, существует минимально служебный

def assert(message = 'assertion failed')
end

Затем в Вашем коде можно утверждать к содержанию основы:

assert { value == expected_value }
assert('value was not what was expected') { value == expected_value }

Если value не равняется expected_value и Вы не работаете в производстве, исключение будет повышено.

10
ответ дан 10 December 2019 в 00:45
поделиться

Вне их Вы имеете в виду?

0
ответ дан 10 December 2019 в 00:45
поделиться

Исключения повышения и использование rescue_from.

0
ответ дан 10 December 2019 в 00:45
поделиться
Другие вопросы по тегам:

Похожие вопросы: