S
А зачем там new Map()?
код из доки react-native
A
Доброе утро. Постоянно в работе сталкиваюсь с JavaScript, захотелось его досконально изучить и переквалифицироваться. Посоветуйте, пожалуйста, хорошие уроки react js 🙏🏻
Solnur
оффтоп, а есть в vscode плагин как в webstorm чтоб можно было удобно работать с git, селектить файлы для коммита и т.д. чтоб ручками не писать ?
A
Документация на оффсайте
С неё проще всего начинать?
Andrey
С неё проще всего начинать?
ну при старте изучения чего либо, логичнее всего начать с документации
Andrey
так встроенный есть
Вот не могу привыкнуть что-то) SourceTree и терминал)
Sergey
Вот не могу привыкнуть что-то) SourceTree и терминал)
пользуюсь в 99% случаях терминалом с tig
Eric
С неё проще всего начинать?
более верный вариант - в начале изучить сам JS, как он работает, какие есть фичи, как использовать и в принципе основы JS разработки важны до того как изучать како-либо конкретный фреймворк. Попробуй начать вот отсюда http://learn.javascript.ru/intro, а потом плавно переходи на использование фреймворков
Oleksandr
Доброе время суток, я вот хотел узнать по поводу использование styled-components, я читал статейку на хабре про то как ускорить приложение и там говорилось что sc тормозит приложение потому что все стили в js типа css-in-js медленей обычного css и это замедляет приложение, я хотел бы у вас спросить, что вы думаете на этот повод ?
Konstantin
предпочитаю раздельное питание, так же поступаю и с ксс. Зачем его смешивать с жс? Бред
ну так в отдельный файл ряддом с компанентом кладешь и все стили на пропсах темизация с css это геморойнее
Oleksandr
просто работал в ожной компании где это применялось
Sergey
ну так в отдельный файл ряддом с компанентом кладешь и все стили на пропсах темизация с css это геморойнее
не кладешь отдельный файл а проектируешь стайледы как полноценные компоненты, с продумыванием интерфейса пропс и прочее
A
ну при старте изучения чего либо, логичнее всего начать с документации
Возможно я ошибаюсь, но изучать английский по словарю - не лучшая идея.
Andrey
Возможно я ошибаюсь, но изучать английский по словарю - не лучшая идея.
ну да, и приводить аналогии не к месту тоже дока в большинстве случев не просто "словарь" с описанием апи, но и getting started и прочие туториалы
Andrey
и писать стили в файле с компанентом,
Твои стили - это и есть компонент
Konstantin
ладно
Руслан
Всем привет! Подскажите, пожалуйста, как сделать правильно вызов функции внутри функии по интервалу, но чтобы при наступлении определеного условия вызов прекращался. Такой код работает не коректно, вызов продолжается. timer = 0 checkTxStatus = async (hash) => { const res = await this.web3.eth.getTransaction(hash) if(res.blockNumber){ // выполнить действие и закончить вызов this.txFinish() clearInterval(this.timer) return } else{ // повторить вызов this.timer = setTimeout(() => this.checkTxStatus(hash), 5000) } }
Danila
Но ето не точно!
Руслан
Понял спасибо!)
Yuriy
Гайз, если я ссылку на текущий компонент передаю через пропсы во вложенные дочерние компоненты, чтобы те могли при необходимости вызывать его методы – это совсем плохо? Пропсы дочерних компонентов при этом полностью загоняются в собственные стейты.
Sergey
чет намудрил так намудрил
Victor
derived state
точно, но по фразе "загонять пропсы в стейт" больше похоже на state = {...this.props}
Cenator 🐈
Компонент
У компонента не должно быть методов по react way
Yuriy
а зачем?
Как минимум за тем, что все передаваемые пропсы нужны для рендера и соот-но есть необходимость при изменении передаваемых свойств запускать рендер.
Victor
props - readOnly, state - read/write. Если данные нужны только чтения - зачем их в стейт локальный пихать?
Yuriy
Реакт вэй это конечно круто, но блин, логику я держу в главном компоненте, поэтому нужно обращаться к методам этого компонента.
Victor
Короче, без примера не понятно что происходит.
Yuriy
wolfe
Реакт вэй это конечно круто, но блин, логику я держу в главном компоненте, поэтому нужно обращаться к методам этого компонента.
как вы себе масштабирование такой логики представляете? и почему у вас она в одном компоненте?
Yuriy
как вы себе масштабирование такой логики представляете? и почему у вас она в одном компоненте?
Речь о бизнес логике - она в главном компоненте. Логика для локальных компонентов, понятное дело, в них самих. Все дочерние компоненты независимы насколько это возможно. Если не в главном компоненте, то где её по "реакт вэю" лучше размещать и почему? В отдельном самостоятельном классе->объекте не связанным с реактом?
Yuriy
вообще, лучше убрать её в стэйт-менеджер. но если вы прямо ХОТИТЕ использовать слой БЛ в компоненте, то передавайте его методы пропсами в дочерние компоненты. ссылки на компонент передавать не надо
Это как по мне жуткое извращение, не говоря о том, что количество и методы неопределены, то есть может добавиться какой-либо метод, который понадобится дочернему компоненту в будущем. И что мне, переписывать передаваемые пропсы каждый раз? Как раз масштабирование идёт по пиде в этом случае. Логичнее ссылку. Что я и делаю, но чем чревато? Судя по всему ничем, иначе бы сразу закидали бы эксриментами и отправили учить матчасть )
Yuriy
не надо ничего переписывать. добавляете в prop-types дочернего компонента новый метод и всё компонент должен быть максимально изоморфным и зависеть от окружения как можно меньше
За напоминание о prop-types спасибо. Если сможете сказать чем плоха передача ссылки на родительский компонент то вообще спасибо-спасибо будет )
wolfe
коллбэк же совсем о другом
Yuriy
не надо ничего переписывать. добавляете в prop-types дочернего компонента новый метод и всё компонент должен быть максимально изоморфным и зависеть от окружения как можно меньше
проп-тайпс имеются ввиду это https://ru.reactjs.org/docs/typechecking-with-proptypes.html ? как валидация типов может оптимизировать вопрос с передачей неопределённого числа колбэков?
wolfe
проп-тайпс имеются ввиду это https://ru.reactjs.org/docs/typechecking-with-proptypes.html ? как валидация типов может оптимизировать вопрос с передачей неопределённого числа колбэков?
про типы пропсов отдельный тред. они могут быть как prop-types, так и флоу или тс, не об этом сейчас, а о том, чтобы знать, что вам метод пришел в пропсах, а не значение
🐏 Alexander
wat?
Sergey
Вот пример https://github.com/howtocards/frontend/blob/dev/src/pages/edit/model.js
Yuriy
Тебя не смущает, например, необходимость в тех же биндах в конструкторах? Или постоянно меняющиеся подходы в реакт? Явно это не от того, что в либе всё сбалансировано и стройно. Поэтому, правильнее вначале поговорить об архитекорах и архитектуре либы, а затием о людях.
wolfe
видимо, поэтому "классы" не нужны )
Yuriy
покажите, где вас в доке учат передавать ссылку на инстанс компонента
В матчасти даже философских размышлений нет на эту тему, не говоря о запретах. Поэтому и обращаюсь к коллективному опыту.
wolfe
В матчасти даже философских размышлений нет на эту тему, не говоря о запретах. Поэтому и обращаюсь к коллективному опыту.
и вам говорят, как делать, но вы хотите по-своему. в таком случае здесь от дискуссии смысла нет никакого
wolfe
есть рефы, но это отдельный тред тоже
Mihail
Не реакт
Yuriy
и вам говорят, как делать, но вы хотите по-своему. в таком случае здесь от дискуссии смысла нет никакого
Я сделал и это работает как надо, и теперь моя цель понять, насколько это плохо с точки зрения практики, но не пустые заявления, а с аргументами. Колбэк, делает компонент более независимым - в моём случае зависимость конкретно в данном компоненте жёсткая - она на уровне логике, поэтому ну соу-соу аргумент. Кроме того, повторюсь, трахаться с передачей колбэков - ну как бээ )
Yuriy
Ладно, тем не менее спасибо!
Yuriy
если вы не увидели моих аргументов в этом споре, то это не моя проблема, а ваша вам говорят, что так не правильно, а вы это игнорируете
Я всё увидел. И спасибо Вам, что пытаетесь вразумить. Но, допустим, мой контр-аргумент, о том, что количество методов неопределенно, что трахаться и добавлять каждый раз при необходимости очередной пропс с новым методом - это пидец. Кроме того, колбэк не делают дочерние компоненты уж прям совсем независимыми - просто технически им передавать колбэки могут разные компоненты, но кому это нужно если учесть что в конкретном случае, такого никогда не случится.
Mihail
О боже😖
Vlad
это они так решили обмануть правило, что нельзя наследование использовать?) и как объясняли такой подход?