#clojure #clojurescript #reagent #re-frame
#clojure #clojurescript #реагент #перефразируйте
Вопрос:
Я пытаюсь исправить ошибку в интерфейсе Clojurescript с помощью Reagent и Re-frame . Иногда я нахожу сообщения об ошибках немного сложными для расшифровки, и я не могу взломать это.
Все, что я знаю, это то, что я получаю ошибку в конкретном представлении, подобном этому:
No protocol method IAssociative.-assoc defined for type object: :empty
Я собираюсь предположить, что я пытаюсь связать что-то с типом :empty
. Какие данные будут иметь тип :empty
?
Я, по крайней мере, на правильном пути? Какие вещи могут вызвать подобное исключение?
Вот как выглядит моя трассировка стека:
Комментарии:
1. Если у вас есть исключение, у вас также должна быть трассировка стека, которая затем приведет вас к коду, которым вы управляете (где это происходит). Затем отлаживать оттуда?
2. Обычно это то, что я бы сделал, но, похоже, я не могу воспроизвести ошибку, и моя служба отслеживания ошибок на самом деле не оставила мне ценной трассировки стека.
3. Вам будет легче найти вашу проблему, как только вы получите трассировку стека, которая относится к коду (например, используйте исходные карты)
4. Я предполагаю, что объект
x
типа:empty
является местом назначенияassoc
.5. Имена функций «NAa», «KAa», «Mc» и т. Д. Пахнут как «расширенные» оптимизации из Google Closure, необязательный этап компиляции ClojureScript. Иногда, когда вы не знаете, что происходит, это помогает изменить оптимизацию на «нет». Тогда проблема может исчезнуть (предполагая несовместимость с закрытием Google) или проблема может проясниться.