БЕЗОПАСНЫЙ шаблон Elmish redux dev tools всегда сообщение «UserMsg» - PullRequest
0 голосов
/ 11 февраля 2019

Я совсем новичок в Эльмише.Сделал образец шаблона, используя dotnet new SAFE.Когда я открываю приложение и использую инструменты Chrome Extension, я всегда получаю сообщение «UserMsg».Есть ли способ сделать это «Инкремент» или «Уменьшение», когда я нажимаю кнопку «-» или «+»?

1 Ответ

0 голосов
/ 26 июля 2019

Модуль навигации elmish-browser переносит все сообщения в типе Parser, который представляет собой объединение либо Change (для изменения URL), либо UserMsg (для всего остального).

Это разбивает отражение как в withDebugger, так и в withConsoleTrace ... они не могут получить имя основного сообщения и, следовательно, отображают вместо него упакованное имя.

Обходной путь - вызватьtoNavigable после withDebugger в конвейере инициализации программы:

Program.mkProgram init update view
#if DEBUG
|> Program.withConsoleTrace
#endif
|> Program.withReactBatched "elmish-app"
#if DEBUG
|> Program.withDebugger
#endif
|> Program.toNavigable (parseHash route) urlUpdate
|> Program.run

Однако при этом сообщения «Изменить» больше не отправляются в отладчик.Это может быть проблемой, если ваша функция urlUpdate напрямую обновляет состояние модели.Для вашей функции urlUpdate может быть лучше вызвать новую команду с сообщением, которое будет обработано основной функцией обновления.

См. https://github.com/elmish/browser/issues/26

...