JavaScript

Как использовать Buridan/UI с JavaScript.

Хотя 99% ваших приложений Reflex будут написаны на чистом Python, периодические JavaScript могут пригодиться, чтобы сделать задачу более осуществимой.

Два основных способа запуска встроенного JavaScript в вашем приложении Reflex:

  • rx.script → загружать встроенные или внешние скрипты
  • rx.call_script → запускать JS из обработчиков событий

Чтобы использовать rx.script, вам необходимо добавить путь к коду JavaScript в ваш экземпляр rx.App.

rx.App(head_components=[rx.script(...)])

Чтобы использовать rx._call_script, вы можете прикрепить его к любому из триггеров событий, доступных компонентам Reflex.

rx.el.button(
    "Expand",
    class_name="!text-xs text-muted-foreground hover:text-foreground",
    on_click=rx.call_script("""
        const btn = event.currentTarget;

        if (btn.innerText === "Expand") {
            btn.innerText = "Collapse";
        } else {
            btn.innerText = "Expand";
        }
    """),
)

Пользовательский код Javascript в вашем приложении Reflex представляет собой проблему в обслуживании, поскольку его будет сложнее отлаживать, и он может работать нестабильно в разных версиях Reflex. Предпочитайте использовать API Python, когда это возможно, и сообщайте о проблеме, если вам нужны дополнительные функции, которые в настоящее время не предоставляются.