Я пишу клиентское приложение, которое должно читать файл, преобразовывать его содержимое и затем экспортировать результат. Для этого я решился на Re-Frame.
Теперь я только начинаю разбираться с Re-Frame и cloujurescipt, и у меня получилось следующее:
Где-то в моих функциях просмотра я отправляю это всякий раз, когда новый файл выбирается с помощью простого ввода HTML.
[:input {:class "file-input" :type "file"
:on-change #(re-frame/dispatch
[::events/file-name-change (-> % .-target .-value)])}]
Я получаю что-то вроде C:\fakepath\file-name.txt
, частью которого является fakepath.
Мой обработчик событий в настоящее время только разбивает имя и сохраняет имя файла, на которое подписан мой ввод выше, для отображения выбранного файла.
(re-frame/reg-event-db
::file-name-change
(fn [db [_ new-name]]
(assoc db :file-name (last (split new-name #"\\")))))
Кроме того, я хочу прочитать файл, чтобы позже обработать его локально. Предполагая, что я просто изменю свое действие on-change
и обработчик событий, чтобы сделать это вместо этого, как бы я это сделал?
Я искал какое-то время, но почти ничего не нашел. Единственное, что появилось там, где другие фреймворки и тому подобное, но я не хочу вводить новую зависимость для каждой новой проблемы.