Общий вопрос, с которым я столкнулся, связан с стратегиями разработки: когда и как вызывать действия, а когда нет?Должна ли повторная маршрутизация быть перенесена в действие?
В Mantra (который использует React для его переднего конца и Meteor's FlowRouter для маршрутизации), у меня есть компонент пользовательского интерфейса, содержащий ListItem.
Если я хочу перенаправить на свою страницу в onClick
, какова была бы лучшая стратегия?
Я имею в виду:
- Добавить контейнер и добавить
gotoPage
функциюprops
которая вызываетFlowRouter.go
. - Invoke
gotoPage
в UI'sonClick
событие.
Достаточно ли этого, или я должен добавить действие для этого? Я предполагаю, что для того, чтобы действия составляли полный и повторяющийся журнал всех вещей, которые произошли, необходимо создать действие. Было бы крайне важно воспроизвести все, что сделал пользователь. Но в то же время я думаю: использование href
без генерации действия кажется ОК. «Воспроизведение» обычно нежелательно, изменение URL-адресов каким-то образом создает действия неявно или есть какая-то другая вещь, которую я не получаю?
Извините, но я новичок в игре действий :)
Итак, ответ таков: 1) Все еще нужно создать действие для каждой попытки маршрутизации? И 2) На самом деле, нужно создать конкретное действие для каждого URL-адреса, к которому вы хотите перейти, вместо того, чтобы иметь общее действие маршрутизации для любого URL-адреса? Если да: q1) Вы даже допустили бы привязку, используя ' Domi
Не нужно создавать новое действие для каждого URL-адреса, а depsMapper можно связать с любым действием, которое вы хотите. Обычно я применяю действия, которые часто используются в собственном файле, называемом 'shared.js' (или что-то подобное) и используют его во всем модуле. Итак, 'goto: actions.myList.goto' может быть, например:' goto: actions.shared.goto'. Теперь я вижу, что мой пример не иллюстрирует, как привязывать аргументы к функции действия, я обновлю простой пример. –