Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fix: track identifiers with $ #142

Merged
merged 10 commits into from
Jan 28, 2022
Merged

fix: track identifiers with $ #142

merged 10 commits into from
Jan 28, 2022

Conversation

manucorporat
Copy link
Contributor

@manucorporat manucorporat commented Jan 25, 2022

==INPUT==

import { qComponent$, onRender$, useStore, wrap, useEffect } from '@builder.io/qwik';


export const useMemo = (qrt) => {
    useEffect(qrt);
};

export const useMemo$ = wrap(useMemo);

export const App = qComponent$((props) => {
    const state = useStore({count: 0});
    useMemo$(() => {
        console.log(state.count);
    });
    return onRender$(() => (
        <div>{state.count}</div>
    ));
});

============================= test.js ==

import * as qwik from "@builder.io/qwik";
import { qComponent } from "@builder.io/qwik";
import { wrap, useEffect } from '@builder.io/qwik';
export const useMemo = (qrt)=>{
    useEffect(qrt);
};
export const useMemo$ = wrap(useMemo);
export const App = /*#__PURE__*/ qComponent(qwik.qrl(()=>import("./h_test_app_onmount")
, "App_onmount"));

============================= h_test_app_usememo.js (ENTRY POINT)==

import * as qwik from "@builder.io/qwik";
export const App_useMemo = ()=>{
    const [state] = qwik.useLexicalScope();
    console.log(state.count);
};

============================= h_test_app_onrender.js (ENTRY POINT)==

import { jsx as _jsx } from "@builder.io/qwik/jsx-runtime";
import * as qwik from "@builder.io/qwik";
export const App_onRender = ()=>{
    const [state] = qwik.useLexicalScope();
    return(/*#__PURE__*/ _jsx("div", {
        children: state.count
    }));
};

============================= h_test_app_onmount.js (ENTRY POINT)==

import * as qwik from "@builder.io/qwik";
import { onRender } from "@builder.io/qwik";
import { useMemo } from "./test";
import { useStore } from "@builder.io/qwik";
export const App_onmount = (props)=>{
    const state = useStore({
        count: 0
    });
    useMemo(qwik.qrl(()=>import("./h_test_app_usememo")
    , "App_useMemo", [
        state
    ]));
    return onRender(qwik.qrl(()=>import("./h_test_app_onrender")
    , "App_onRender", [
        state
    ]));
};

https://qwik-playground.builder.io/#vVhtb9s2EP4rnFFUcutISVZ0g2u7G7IE7dZ2wNKtH+ahoK2TLYQWFZGyYwj+7zuSkkVKrpNsRRMgEcnj8V4fPlLZm/MIesNessp4Lkk5TQm5yuliBakcqMEbLszD7QVHmRTnn+gxT/+ANILcjAoB15LnUA/UtksGezU4dbk2gx2Jc74i3k+zImGoIEh4eLtJbrxX09Q2g0bRWwkrvX3OgObKAAYSIj11lTAJ+bWkEoSeWIA0cxBd8KI615pUyoxkDiu+hr3yjzzizsBISb5YsEaqyCI8yiizvAhCoUxQxqtfuNMOzHkqJOr6hf+cZWRsB8/3s5xnYkhKPAHPGpojya5PxhPjeQ6yyNMmwr7frGEsUDdnEDC+8D2ePhneGjElMqqODCdeHy1S4pUy34wIGQmYy4SnGFMqxHjaU1bQLJv2JrUICr0BqlRqC8eltjjQgx0Jbbn3NEnvl7riHKN2j9worCyrZowDO/VP/2kFt7LwsbE1m3XOcG9dtj5ugDs5JJ5nTvxfSTCmHcuBHZzl2UQbOwrxyZpP0qyQzVg1gUlYCpsTtWPas1czRuew5KqjUObTkkqSAkQCI0FmQCKM0Gt3By0kv+LzQtiTa8oKGJc6QIGKyc5eVZ7ewLbIxqUTjr2JOrqgOt1EVzf96DfYzjjNIz2a+HVY3F3a37/U8bjV1zoCSXPsYEIFefPx/bu3SqJClX6gLW1pasxGHY3CllQS1/rRFzIej4l3mWKBeuTpU2tXv+3dHpNMmZkSHliHth1rGeQplLBXndjurJHdFQ9rB92I3xBo1HnHKlxdAPuKXaGwiy8Fc/DnhCVCOhKElG3stqPeD1Y0833Mn7Z4f26lXsmTBP+MSxTZ3YtQGN6+Ff5RWDArA8qXh2VBn/ulLCh7TBKU2KvHQxREiUzSxZDElAl4PFDVHnWS2YRr2vPI8yYQv17//iEQMsdTk3hbJUAJDoiK/cDAhUkBjlGU5lJ8SuTS9z5/9vrkNSnwlDhJISLDSrpvn+BNe1hGdnCPF1NZoksVDxiSxqBgPzto4mS6rxpig9kVGCXrfQmuE9i0qq8Lvw0AG2bgginyhW0GuDhfwvxmxu/ay3oeoroIXZsdIDAwO2fJ/KaG2YaLuNDT6LLL18YP7QujM2DdI6IZq06hYpvOyUFIrzGsjuKYyLyDqHXRLhvaZ0rX4oF+/7vOLrqhiSS3H7jE8jIF6Vs6unhqXRWXDI+whIPbAvLtNTBkETz3PS2kzcY6PHCDdHRXWoNY3YmdS6pZF/oIJCpIPrHzq4vGXrhMI2taV33AIF3IZfsCcLLmJA0B0KoUmUgGjvAo1Fl1Ez0rpLSoXQTYu3w77XUrquHAX66oySg0Cu2+CbFxrHHFFOrqeO1C8bEuUlvaTVKxj6OOm9qdsSKvffHbFarx0e2I+7nLf2UvX5O/II1ruX6MxxxhMge4S7eRdZg6Olthc0vUBpY+InpaMLYXeMxNWb0SfEPGYk60OEv47Fll+TNyeUcVFBMeE4bBP1HIrI0iPgLUJmGMULahW6G4dJLOWRHhjbbBi47IJZCM5kp2v6tfKw7NQ1yk5qXLEBq8y2P9QHbKWfM8dF5pldP7FJqQsff4rq7SpsWwYd/xDeQXVIBVk+27U6F/4oIEPdSPeK8a+GquVZ2DoDIUS8uc79bDgbvKflF2scWocvuyjXlG5u/Tf3DTn1lW+0ee126LYoag5p+5akYhdUDK8rmOTSVvYonwh5zUtEH7w4HDMx/Eb2NdWg6DsLmmbmdR3QBkQk47MNmKwkhk1H1Bx4JEy1ocxYgiwqeLSbn3aIcv0mauLdvIqHSeoRWeZn0eNrJ5Et6OMIhbiI0K0Z62jRaFN6kRB8wr7Zo2nD0+xNjNZwJTakbbuIzbHL3D0ztcvePngWAfuij19yXd9JqOHbow3U9QTo3YvLL+uVDiDVXtGNC9WQ9CqvMK+HjQ7Q16KwxEvMVPfAI/rjH1OOghQiFTkjkmZaGXVkhkcB5nUpElDL8IKpI30MQY11c8KhgIlFhjmhHHcO40OA3OXp68OIlgfX56fn56dv7D2cvvz1/82Nv9Cw==

@manucorporat manucorporat changed the title fix: optimizer generates cleaner code fix: track identifiers with $ Jan 27, 2022
src/core/component/q-component.public.ts Outdated Show resolved Hide resolved
@mhevery
Copy link
Contributor

mhevery commented Jan 27, 2022

I found one issue. When doing <button on$:click={...} you need to change to <button on:click={qrl(...)}

manucorporat and others added 5 commits January 28, 2022 00:25
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants