Обработка onClick$ в Qwik с функциями, передаваемыми как реквизитыJavascript

Форум по Javascript
Ответить Пред. темаСлед. тема
Anonymous
 Обработка onClick$ в Qwik с функциями, передаваемыми как реквизиты

Сообщение Anonymous »

Я работаю над компонентом Qwik и столкнулся с проблемой обработчика событий onClick$. Я хочу передать функцию в качестве опоры компоненту, который обрабатывает событие щелчка. Однако я понимаю, что Qwik требует onClick$, чтобы использовать функцию QRL для сериализации.
Я прочитал документацию по долларовому объему и сериализации Qwik: https://qwik .dev/docs/advanced/dollar/, но я все еще не уверен, как лучше всего подойти к этой ситуации.
Вопросы:
  • Как рекомендуется обрабатывать onClick$, когда функцию нажатия кнопки необходимо передать в качестве свойства компоненту?
  • Есть ли какие-либо потенциальные подводные камни при этом? рассмотреть разные подходы?
Мой код:

Код: Выделить всё

interface ButtonProps {
type?: "button" | "submit" | "reset";
variant?: "primary" | "secondary" | "success" | "danger";
loading?: boolean;
disabled?: boolean;
onClick?: () => void;
style?: string;
}

export default component$(
({
type = "button",
variant = "primary",
loading = false,
disabled = false,
style,
onClick,
}) => {
const handleClick = $(() => {
if (onClick) {
onClick();
}
});
return (

{loading ?  : }

);
}
);

Где возникает ошибка ворса:

Код: Выделить всё

const handleClick = $(() => {
if (onClick) {
onClick();
}
});
Ошибка Lint:*
Однако при ссылке на «onClick» внутри другой области ($) Qwik необходимо сериализовать значение это функция, которая не подлежит сериализации.
Подробнее см. на https://qwik.dev/docs/advanced/dollar/. ... l-scopeВсе возможные решения ИИ, но они продолжают выдавать ошибки

Подробнее здесь: https://stackoverflow.com/questions/793 ... d-as-props
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Javascript»