БЕЗОПАСНЫЙ шаблон Elmish redux dev tools всегда сообщение "UserMsg"

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

0 ответов

Модуль навигации 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

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