Ленивая загрузка замыканий
Замыкание может быть преобразовано в ссылку с ленивой загрузкой с помощью функции $()
. Такая ссылка генерирует тип QRL<Function>
. QRL - это лениво загружаемая ссылка замыкания. В нашем случае мы извлекли замыкание, связанное с событием onInput
, в тело компонента. Поскольку оно больше не вставляется, нам нужно изменить способ обращения к нему в JSX с onInput$
на onInputQrl
.
Обратите внимание, что наше замыкание захватывает store
, которое захватывается оптимизатором и затем восстанавливается при необходимости.
Пример
В этом примере мы хотим продемонстрировать, как легко в Qwik можно реализовать ленивую загрузку. Давайте лениво загрузим код, который выполняется при нажатии клавиши Enter
. Оберните код, связанный с Enter
, в $()
, чтобы пометить его для ленивой загрузки. Полученный QRL<()=>void>
можно вызвать с помощью .invoke()
и ожидать результата с помощью ключевого слова await
.
Посмотрите на вкладку Symbols
, чтобы увидеть, как код был разбит на части.