Skip to content

Conversation

ProFIT1337
Copy link
Contributor

В общем, ситуация такая:

До этого МР debounce работал на steroids site, но не работал на boilerplate. Это так, потому что в steroids-site есть зависимость steroidsjs/ssr. Если в boilerplate установить её, то debounce будет работать и там (установить достаточно, подключать, адаптировать и пр. не нужно). Я почти уверен, что это из-за того, что в steroids/ssr есть зависимость steroids/[email protected], но я очень сильно затрудняюсь объяснить как зависимость зависимости связана с этим 😵‍💫.

Без steroids/ssr debounce не работает, потому что в InputFieldView, передаётся props.inputProps.value, которое изменяется только после того, как отработает debounce, и этот value передаётся в input. Если убрать value из props.inputProps, debounce будет работать так, как ожидается.

Но такое решение не подходит, т.к. если мы отвязываемся во view части от inputProps.value, перестаёт работать логика привязанная к этому. (Например filled class у поля ставится с debounce задержкой, увеличение/уменьшение стрелочками в NumberField не работает, min max у NumberField не работают).

Есть идеи почему работа debounce зависит от steroidsjs/ssr? Или может быть какая-нибудь другая идея, как можно исправить всё это счастье?

@ProFIT1337 ProFIT1337 requested a review from fogarea April 23, 2025 10:12
@ProFIT1337 ProFIT1337 requested a review from perlexed June 11, 2025 09:17
@perlexed
Copy link
Contributor

То есть в данном MR изменения, про которые ты говоришь что они не подходят ("такое решение не подходит, т.к. если мы отвязываемся во view части от inputProps.value, перестаёт работать логика привязанная к этому")?

И нужно найти другой способ заставить debounce заработать так, как он работает на steroids site?

Тогда если дело в зависимостях, то самый простой способ найти ту, с который debounce работает - это последовательно приводить зависимости бойлерплейта к зависимостям site и смотреть, в какой момент все заработает.

@ProFIT1337
Copy link
Contributor Author

ProFIT1337 commented Jun 16, 2025

То есть в данном MR изменения, про которые ты говоришь что они не подходят ("такое решение не подходит, т.к. если мы отвязываемся во view части от inputProps.value, перестаёт работать логика привязанная к этому")?

И нужно найти другой способ заставить debounce заработать так, как он работает на steroids site?

Тогда если дело в зависимостях, то самый простой способ найти ту, с который debounce работает - это последовательно приводить зависимости бойлерплейта к зависимостям site и смотреть, в какой момент все заработает.

Да, в данном MR код, который делает работающим debounce, но ломающим другую логику (если я правильно помню).

Заработает с добавлением "@steroidsjs/ssr": "^3.0.1",

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.

2 participants