Mikhail Osher, да чего там, сразу уж qna.habr закрывайте и вопросов вообще не будет. Создайте себе закрытый клуб для своих и задавайте друг другу только умные вопросы))
p/s/ По поводу гуглится, конкретно в моем случае я прочитал результаты еще до вопроса, и ничего путного не нашел, поэтому и был задан вопрос, чтобы кто сталкивался разъяснил. А отвечать на вопросы "ищите в гугле" это как минимум не уважительно в сервисе созданном для вопросов разной сложности, если лень объяснять просто скиньте хотя бы ссылку, или пройдите мимо. Смысл разводить демагогию в стиле "я умный, а вы все глупые задаете тут простые вопросы". Ни кто вас не просит отвечать, сервис создан для разных вопросов, и часто отвечают нормально особенно если человек сам сталкивался с решением определенных проблем.
Переполняется сразу. А короткие тексты имеют куча свободных мест сверху и снизу. Так подгонять текст через коэффициенты выдуманные формулами на основе ширины блока без явного анализа высоты строки и тд., я и без этого плагина могу))
Только толку от этого мало, как видно короткий текст, или более длинный уже он не сможет подогнать, потому что явно не смотрит на габариты текста, это надо кучу поправочных коэффициентов делать. А при смене шрифта это сразу всё будет ломаться и тд и тп.
Так что изучать там нечего увы)
0xD34F, да нет ни какой дичи, просто ref нужен для методов внутренних чтоб управлять компонентом, а в рендере там другой компонент из npm.
Сделал как у вас в песочнице через ref({var1,var2,func1,func2}); и все заработало!
И кстати forwardRef убрал и просто в пропсы кинул ref, оказывается пока изучал мануалы увидел что он уже дедикейтед и теперь реф просто в пропсы кидается, да и еще теперь умеет очищаться через return () => {};
Спасибо большое за решение и подсказки! А то уже много часов сижу копаю почему это не работает.
0xD34F, я попробовал поменять проект на jsfiddle.net и я кажется понял в чем может быть причина такой разницы. У вас в примере forwardRef - ref уходит в дочерний элемент. У меня же он просто наделяется свойствами и функциями внутри компонента, чтобы читать и вызывать функции в родительском компоненте
ref.current = {
var1, var2,
func1, func2
}
Если убрать ref у вас в примере с span, то refs становится пустым и в консоль выпадает undefined
При таком подходе и при клике в консоли видно что в compRefs есть реф компонента, и в React Tools видно реф, а до этого был всегда null или пустой массив.
Но пока такая конструкция работает если менять state numComp в коде (т.е. менять число копий в useState(n)), если их менять слайдером то всегда остается в итоге один
Спасибо за разъяснение по поводу очередности! Но если убрать заполнение, и вывести в эффекте в консоль current , то он вообще пустой массив. Т.е. если ref перед эффектом, то получается ссылки не проставляются.
Почему то конструкция ref={(el) => setRef(el, index)} получается не работает, хотя вроде в сети примеры именно такие.
Виктор Кожухарь, благодарю еще раз за совет! Я сам очень долго старался придерживаться самописа, потом узнал о ларавеле и проникся (как ни как раз два и готово почти все из коробки), а потом еще и реактом начал пользоваться, ранее писал исключительно на ванили.
Вот решил освоить Go, а тут как будто вернулся во времена декстопа С++ или CSharp, когда вебом еще не занимался ))
Спасибо большое за такой развернутый ответ! В итоге думаете лучше использовать Go просто с подключением каких то либ небольших, или вы иметее ввиду что вообще лучше использовать тот же симфони и не использовать Go в целом?
Вот думаю может мне просто установить реакт и реактдум и потом плагин vite react и просто создать типовую структуру реакт проекта с папками dist,public,src, и файлом index.html прям в корне проекта ларавел, рядом с vite config
я вот пытаюсь сделать без запуска самого laravel. Если делать php artisan serve то тут уже запускается сам ларавел и из-за отсутствия бд начинает кидать ошибку.
А мне нужно по сути просто фронт реакт который можно отлаживать прямо в IDE. Мне по сути от laravel нужен только бэк(который нет надобности отлаживать на пк), а реакт просто был рядом и закидывал после сборки(билда) всё в public папку. Откуда и будет стартовать SPA просто запуская собранный html.
Только не понимаю как это сделать, по сути просто наложить на laravel проект react и иметь возможность создать виртуалку для просмотра реакт компонентов в браузере, ну и билд сделать в public laravel (хотя в nginx на сервере можно просто указать dist как папку которая будет рутом)
Ankhena, к сожалению нет, вообще изначально и был только woff2. Это просто код скопирован когда я проводил тесты думал проблема в каком то формате может быть. В итоге решил всё только ascent-override, других способов пока не было найдено.
p/s/ По поводу гуглится, конкретно в моем случае я прочитал результаты еще до вопроса, и ничего путного не нашел, поэтому и был задан вопрос, чтобы кто сталкивался разъяснил. А отвечать на вопросы "ищите в гугле" это как минимум не уважительно в сервисе созданном для вопросов разной сложности, если лень объяснять просто скиньте хотя бы ссылку, или пройдите мимо. Смысл разводить демагогию в стиле "я умный, а вы все глупые задаете тут простые вопросы". Ни кто вас не просит отвечать, сервис создан для разных вопросов, и часто отвечают нормально особенно если человек сам сталкивался с решением определенных проблем.