Size: a a a

2021 March 15

КС

Кирилл Спасибович... in Svelte [svelt]
надо попробовать консоль логи повставлять в ту функцию что я написал
источник

КС

Кирилл Спасибович... in Svelte [svelt]
и опции повыводить
источник

AP

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

AP

Alexander Ponomarev in Svelte [svelt]
законекти штормовый или хромовский дебагер
источник

AP

Alexander Ponomarev in Svelte [svelt]
если у тебя шторм то там вообще 1 кнопку нажать
источник

❌stalkerg❌ in Svelte [svelt]
в любом случае вначале надо понять почему ssr и только потом можно будет решать саму ошибку
источник

A

Arushwl in Svelte [svelt]
<script context=module> - до mount разово
<script> - до mount реактивно
beforeUpdate - первый запуск - до mount и перед каждым апдейтом
onMount - после mount
afterUpdate - после mount и после каждого апдейта
onDestroy - перед unmount
источник

AP

Alexander Ponomarev in Svelte [svelt]
интересно зачем onDestroy на  серверсайде вызывать
источник

DK

Dan Kozlov in Svelte [svelt]
Arushwl
<script context=module> - до mount разово
<script> - до mount реактивно
beforeUpdate - первый запуск - до mount и перед каждым апдейтом
onMount - после mount
afterUpdate - после mount и после каждого апдейта
onDestroy - перед unmount
Скрипт не реактивен же.
источник

PM

Pavel 🦇 Malyshev in Svelte [svelt]
Arushwl
<script context=module> - до mount разово
<script> - до mount реактивно
beforeUpdate - первый запуск - до mount и перед каждым апдейтом
onMount - после mount
afterUpdate - после mount и после каждого апдейта
onDestroy - перед unmount
script === контекст инстанса компонента,
context=module === статический контекст класса компонента
источник

AP

Alexander Ponomarev in Svelte [svelt]
модуль это контекст модуля, вызывается на первом импорте модуля
источник

PM

Pavel 🦇 Malyshev in Svelte [svelt]
то что пишется в script это фактически эквивалент constructor класса
источник

КС

Кирилл Спасибович... in Svelte [svelt]
<script lang="ts">
 export let value: string | number = '';
 export let type = 'text';

 function handleInput(event: InputEvent): void {
   const { value: inputVal } = event.target as HTMLInputElement;
   value = type === 'number' ? +inputVal : inputVal;
 }
</script>

<input {type} {value} on:input={handleInput} on:input />
                       ^ошибка тут


как это пофиксить? добавляю проброс евента - ошибка пропала, убираю - ошибка

1. Type '(event: InputEvent) => void' is not assignable to type 'EventHandler<Event, HTMLInputElement>'.
Types of parameters 'event' and 'event' are incompatible.
Type 'Event & { currentTarget: EventTarget & HTMLInputElement; }' is missing the following properties from type 'InputEvent': data, inputType, isComposing, detail, and 2 more.
источник

A

Arushwl in Svelte [svelt]
Arushwl
<script context=module> - до mount разово
<script> - до mount реактивно
beforeUpdate - первый запуск - до mount и перед каждым апдейтом
onMount - после mount
afterUpdate - после mount и после каждого апдейта
onDestroy - перед unmount
Я тут про хронологию выполнения кода
источник

AP

Alexander Ponomarev in Svelte [svelt]
модуль выполнится даже если ты ничего не замаунтишь
источник

A

Arushwl in Svelte [svelt]
Кирилл Спасибович
<script lang="ts">
 export let value: string | number = '';
 export let type = 'text';

 function handleInput(event: InputEvent): void {
   const { value: inputVal } = event.target as HTMLInputElement;
   value = type === 'number' ? +inputVal : inputVal;
 }
</script>

<input {type} {value} on:input={handleInput} on:input />
                       ^ошибка тут


как это пофиксить? добавляю проброс евента - ошибка пропала, убираю - ошибка

1. Type '(event: InputEvent) => void' is not assignable to type 'EventHandler<Event, HTMLInputElement>'.
Types of parameters 'event' and 'event' are incompatible.
Type 'Event & { currentTarget: EventTarget & HTMLInputElement; }' is missing the following properties from type 'InputEvent': data, inputType, isComposing, detail, and 2 more.
А я вот думаю - если начальное значение есть у переменной - это уже типизирует её?
источник

КС

Кирилл Спасибович... in Svelte [svelt]
да, тип инферится
источник

AP

Alexander Ponomarev in Svelte [svelt]
как видишь там string | number а из '' заинферить можно только string
источник

AP

Alexander Ponomarev in Svelte [svelt]
кривые тайпинги стандартных элементов
источник

A

Arushwl in Svelte [svelt]
Кирилл Спасибович
<script lang="ts">
 export let value: string | number = '';
 export let type = 'text';

 function handleInput(event: InputEvent): void {
   const { value: inputVal } = event.target as HTMLInputElement;
   value = type === 'number' ? +inputVal : inputVal;
 }
</script>

<input {type} {value} on:input={handleInput} on:input />
                       ^ошибка тут


как это пофиксить? добавляю проброс евента - ошибка пропала, убираю - ошибка

1. Type '(event: InputEvent) => void' is not assignable to type 'EventHandler<Event, HTMLInputElement>'.
Types of parameters 'event' and 'event' are incompatible.
Type 'Event & { currentTarget: EventTarget & HTMLInputElement; }' is missing the following properties from type 'InputEvent': data, inputType, isComposing, detail, and 2 more.
А зачем 2 евента input ?
источник