Size: a a a

2020 November 06

PM

Pavel 🦇 Malyshev in Svelte [svelt]
правда я вообще не уверен что там людям приходит в голову html теги оборачивать
источник

AP

Alexander Ponomarev in Svelte [svelt]
Pavel 🦇 Malyshev
что имеется ввиду? вообще тебя послушать, так только JSX имеет право на жизнь, ибо любой шаблонный DSL будет иметь такие же особенности
function Link({onClick, ...rest}) {
    return <a {...rest} onClick={(e) => { trackEvent('Link click'); onClick && onClick() }}/>
}
источник

PM

Pavel 🦇 Malyshev in Svelte [svelt]
Alexander Ponomarev
function Link({onClick, ...rest}) {
    return <a {...rest} onClick={(e) => { trackEvent('Link click'); onClick && onClick() }}/>
}
trackEvent откуда тут?
источник

AP

Alexander Ponomarev in Svelte [svelt]
ну это гугланалитика, импорт или глобалка
источник

PM

Pavel 🦇 Malyshev in Svelte [svelt]
Alexander Ponomarev
function Link({onClick, ...rest}) {
    return <a {...rest} onClick={(e) => { trackEvent('Link click'); onClick && onClick() }}/>
}
<a {...$$props} on:click={e => trackEvent()} on:*><slot/></a>
источник

PM

Pavel 🦇 Malyshev in Svelte [svelt]
хотя даже restProps не надо
источник

КС

Кирилл Спасибович... in Svelte [svelt]
Alexander Ponomarev
function Link({onClick, ...rest}) {
    return <a {...rest} onClick={(e) => { trackEvent('Link click'); onClick && onClick() }}/>
}
а тут кстати будет на каждом ререндере заново эта анонимная функция создаваться?
источник

PM

Pavel 🦇 Malyshev in Svelte [svelt]
это же нормальные ивенты а не коллбеки галимые
источник

AP

Alexander Ponomarev in Svelte [svelt]
Кирилл Спасибович
а тут кстати будет на каждом ререндере заново эта анонимная функция создаваться?
будет, но это не важно оно в дом элемент передается
источник

PM

Pavel 🦇 Malyshev in Svelte [svelt]
и вообще этот мусор с onClick && onClick() 😂
источник

AP

Alexander Ponomarev in Svelte [svelt]
Pavel 🦇 Malyshev
это же нормальные ивенты а не коллбеки галимые
интересует такой же кейс но мне нужно вызвать пришедший onClick по условию
источник

PM

Pavel 🦇 Malyshev in Svelte [svelt]
Alexander Ponomarev
интересует такой же кейс но мне нужно вызвать пришедший onClick по условию
так вызови
источник

PM

Pavel 🦇 Malyshev in Svelte [svelt]
но тогда restProps надо будет, раз есть явно определенные пропсы и они используются не прямо на элементе
источник

PM

Pavel 🦇 Malyshev in Svelte [svelt]
<a {...$$restProps} on:click={e => true && onClick()} on:*>
 <slot/>
</a>

...

export let onClick = () => {};
источник

AP

Alexander Ponomarev in Svelte [svelt]
function Link({onClick, ...rest}) {
    return <a {...rest} onClick={handleClick}/>

    function handleClick(e) {
         if (e.currentTarget.href === 'abc') {
             onClick();
         }
    }
}

Меня интересует кейс когда мне переданный эвент все таки придется достать из словаря чтобы вызывать и чтобы он в on:* еще раз не проставился
источник

PM

Pavel 🦇 Malyshev in Svelte [svelt]
Alexander Ponomarev
function Link({onClick, ...rest}) {
    return <a {...rest} onClick={handleClick}/>

    function handleClick(e) {
         if (e.currentTarget.href === 'abc') {
             onClick();
         }
    }
}

Меня интересует кейс когда мне переданный эвент все таки придется достать из словаря чтобы вызывать и чтобы он в on:* еще раз не проставился
<a {...$$restProps} on:click={handleClick}>

function handleClick(e) {
  if () {
       onClick();
  }
}
источник

PM

Pavel 🦇 Malyshev in Svelte [svelt]
юзай коллбек просто
источник

PM

Pavel 🦇 Malyshev in Svelte [svelt]
или можно ручной ре-диспатч вызвать
источник

AP

Alexander Ponomarev in Svelte [svelt]
ну тогда придется передавать колбэком а не через Link on:click и тогда не будет отличаться от реакта =)
источник

PM

Pavel 🦇 Malyshev in Svelte [svelt]
с каждым твоим примером понимаю почему у вас приложение мегабайтное)
источник