@react_js

Страница 1263 из 5115
Блаженный
10.05.2017
01:02:28
Народ, это нормальны, что я для всякой мелочи типа текущий текст в поле использую обычный state реакта, а не redux?

Michael
10.05.2017
01:32:21
нормально: передаёте в компонент инициализирующий текст и функцию изменения, на событие изменения внутри компонента через внутренний стэйт меняете текст и вызываете внешнюю функцию, передавая ей эвент или сам новый текст

Maxim robox
10.05.2017
01:50:23
@evgenyrodionov спам

Google
Блаженный
10.05.2017
01:51:52
?

Michael
10.05.2017
01:52:16
если там условно 1 контейнер и внутри компоненты и всё, то я не вижу сходу смысла в redux. если это большое SPA, то redux

Maxim robox
10.05.2017
01:53:31
Да, но хранить ли этот текст в redux стейте или обычном react'овом
Если этот стейт локальный для компонента и никому он больше не нужен, то храни в стейте. Если кто-то ещё его будет читать, то лучше в redux store. Это просто общая рекомендация, не требование.

Блаженный
10.05.2017
02:00:42
Ок, значит я все делаю правильно. Спасибо

Alexandre
10.05.2017
07:15:10
кстати про стейт. Какой рассово верный способ в компонентах отлавливать вызов какого-то редюсера? Например есть ряд компонентов, в них есть какой-то локальый стейт, который только для этого компонента, в других местах эти данные не нужны, они скорее больше декоративные, поэтому по хорошему выносить их в глобал стор особо смысла нет. Но при этом надо локальный стейт изменять в какой-то ситуации. Например по выбору формы, если форма очень сложная. Или получили что-то из бекенда, надо обновить вьюшки. Напрашивается обсервер шаблон. Видится три варианта на вскидку: 1 - вынести таки все данные в глобал стор и забить. 2 - в компоненте приконнектиться к store и заюзать subscribe(), отслеживать изменения и изменять локальный стейт если надо. Куча костылей. 3 - внутри редюсера тригерить нативный эвент на window например, а в нужных компонентах addEventListenter и ловить событие. Но кажется не совсем реакт подход.

pepsi ¯\_(ツ)_/¯
10.05.2017
07:18:04
кстати про стейт. Какой рассово верный способ в компонентах отлавливать вызов какого-то редюсера? Например есть ряд компонентов, в них есть какой-то локальый стейт, который только для этого компонента, в других местах эти данные не нужны, они скорее больше декоративные, поэтому по хорошему выносить их в глобал стор особо смысла нет. Но при этом надо локальный стейт изменять в какой-то ситуации. Например по выбору формы, если форма очень сложная. Или получили что-то из бекенда, надо обновить вьюшки. Напрашивается обсервер шаблон. Видится три варианта на вскидку: 1 - вынести таки все данные в глобал стор и забить. 2 - в компоненте приконнектиться к store и заюзать subscribe(), отслеживать изменения и изменять локальный стейт если надо. Куча костылей. 3 - внутри редюсера тригерить нативный эвент на window например, а в нужных компонентах addEventListenter и ловить событие. Но кажется не совсем реакт подход.
если что-то в компонентах формы таки зависит от глобального стора(иначе твой вопрос странный немного), то может быть это можно вычислять из данных стора и засунуть в селекторы?

Igor
10.05.2017
07:18:39
Уже обсудили? https://github.com/FormidableLabs/freactal

https://formidable.com/blog/2017/infinite-state-composition-with-freactal/?utm_source=forwebdev_tlgrm&utm_medium=announcement&utm_campaign=freactal--luchshee-iz-mirov-redux-i-mobx

Выглядит хорошо. И бойлерплейта минимум

Vladimir
10.05.2017
07:21:36
кстати про стейт. Какой рассово верный способ в компонентах отлавливать вызов какого-то редюсера? Например есть ряд компонентов, в них есть какой-то локальый стейт, который только для этого компонента, в других местах эти данные не нужны, они скорее больше декоративные, поэтому по хорошему выносить их в глобал стор особо смысла нет. Но при этом надо локальный стейт изменять в какой-то ситуации. Например по выбору формы, если форма очень сложная. Или получили что-то из бекенда, надо обновить вьюшки. Напрашивается обсервер шаблон. Видится три варианта на вскидку: 1 - вынести таки все данные в глобал стор и забить. 2 - в компоненте приконнектиться к store и заюзать subscribe(), отслеживать изменения и изменять локальный стейт если надо. Куча костылей. 3 - внутри редюсера тригерить нативный эвент на window например, а в нужных компонентах addEventListenter и ловить событие. Но кажется не совсем реакт подход.
Задиспатчился какой-то экшн, каком-то из редьюсеров поставили флажок в стейте, в компонент передаем этот флажок, в componentWillReceiveProps обновляем то что надо

Alexandre
10.05.2017
07:22:18
вариант

Google
pepsi ¯\_(ツ)_/¯
10.05.2017
07:48:20
Выглядит хорошо. И бойлерплейта минимум
Надо вот с этим сравнивать https://github.com/jumpsuit/jumpsuit/blob/master/README.md

Вменяемые фреймворки вот только сейчас стали появляться.

Igor
10.05.2017
07:49:43
Да наверно, redux мне со своими action, reducer и т.п. во многих случаях избыточен

Иногда проще обходиться setState + props

Gregory
10.05.2017
07:50:09
Уже обсудили? https://github.com/FormidableLabs/freactal
Когда видешь слово inferno в тегах, становится как то не по себе

И не хочешь юзать для прода

Ostap
10.05.2017
07:50:25
Топчик, но сырой
Там вестрейт норм обновил

И я демку пильнул

Gregory
10.05.2017
07:50:43
Igor
10.05.2017
07:50:49
Но когда setState вверх прокидываешь из пятого компонента

Иногда проще что-то простое использовать для читабельности

Gregory
10.05.2017
07:51:19
Короче, там если огромные массивы данных он умирает > 5-10к значений

Igor
10.05.2017
07:51:34
Вот этот вариант мне кажется нормальный, надо будет потестировать на следующем проекте

Igor
10.05.2017
07:51:59
Да

Gregory
10.05.2017
07:52:10
Да выглядит хорошо для хактонов, и простых дашбордов

Igor
10.05.2017
07:53:16
Вот-вот. Что-то простое запилить без заботы о прокидке стейта

code4aman
10.05.2017
08:49:18
кто юзает eslint с jsx-a11y, с обновой такую проблему не ловили?



Google
code4aman
10.05.2017
08:49:48
при чем это вообще не jsx и не react файл))

почти на все импорты ругается... т.е. на самый первый во всех файлах

похоже поломали чета в eslint-plugin-jsx-a11y@5.0.1

да > The airbnb config is not yet compatible with v5 - it requires v4

Дмитрий
10.05.2017
08:54:44
Весело

Полезная инфа

Defiancefew
10.05.2017
08:55:59
да > The airbnb config is not yet compatible with v5 - it requires v4
ну это давно вроде еще было. они и скрипт для установки свой предлагают

code4aman
10.05.2017
08:56:26
что за?

Defiancefew
10.05.2017
08:59:31
( export PKG=eslint-config-airbnb; npm info "$PKG@latest" peerDependencies --json | command sed 's/[\{\},]//g ; s/: /@/g' | xargs npm install --save-dev "$PKG@latest" ) в доках airbnb конфига. я как то бампнул пакеты, а у меня еслинт сломался и тоже грешил на eslint-plugin-jsx-a11y

тоже из-за несовместимости

Gleb
10.05.2017
09:06:06
Привет, нужно изменить render у компонента из стороннеего пекеджа, всплывашку проще говоря кастомизировать, при том используя все методы класса, меняя только само представление, HOC применить здесь не выйдет , т.к либа стороняя, верно ли понимаю что единственный способ решения это наследование и перегрузка render?

Gleb
10.05.2017
09:07:46
ну уж не использование ООП ради не использования получается =)

Konstantin
10.05.2017
09:08:29
Друзья, подскажите, не спал уже 72 часа, мозг тупо отказывается соображать. Как следить за размером контейнера (div). Тоесть, я изменяю окно бразуера, и размер обычного div`a меняется. Мне надо его размер при измении. Че-т с CompDidUpdate, CompShouldUpdate не получается. Впервіе я его получаю и в CompDidMount пишу в локальный стейт. А дальше он не изменяется.

Nikolay
10.05.2017
09:11:11
Я бы сделал как-то так window.addEventListener('resize', this._handleWindowResize)

Konstantin
10.05.2017
09:12:01
а как-то избавится об глобальных штук, типа виндоу и документ можно?

не жалую я их

Evg
10.05.2017
09:13:34
не жалую я их
это почему? изменение размера окна как бы глобальное событие

Google
Konstantin
10.05.2017
09:14:41
это почему? изменение размера окна как бы глобальное событие
как-бы да, но я как бы хочу следить именно за опеределённым контейнером, который может быть, а может не быть, и мне что-то менять при глобальном изменении смысла нет. Как-бы все эти лиснеры и исполняемые функции не дешевые операции по факту

Nikolay
10.05.2017
09:15:18
а у тебя другого выхода нет. подписывайся на ивент в компоненте, отписывайся когда componentWillUnmount

Evg
10.05.2017
09:16:50
ну есть еще один вариант - использовать media queries в css, установаить условие появления/скрытия какого-то элемента по id

Admin
ERROR: S client not available

Evg
10.05.2017
09:17:08
не знаю насколько к твоей задаче применимо

Nikolay
10.05.2017
09:17:17
но под каптом тот же window)

Konstantin
10.05.2017
09:17:25
не знаю насколько к твоей задаче применимо
я уже делал это. галимо работает

Evg
10.05.2017
09:18:01
ну или руки у меня кривые
ну хз, у меня отлично работало вкупе с flex версткой

Konstantin
10.05.2017
09:18:28
ну хз, у меня отлично работало вкупе с flex версткой
у меня не флекс. у меня семантик гриды.

Nikolay
10.05.2017
09:18:53
нужно скрывать какой-то блок при изменении окна браузера?

Konstantin
10.05.2017
09:21:24
не, в блоке график, который не очень ресайзится. и мне надо перемещать сам блок красиво

Всем спасибо. Прифегачил эвентлистенер на ресайз. Завтра отрефакторю :)

Алексей
10.05.2017
09:45:45
Всем спасибо. Прифегачил эвентлистенер на ресайз. Завтра отрефакторю :)
а я бы как нибудь так сделал https://gist.github.com/savelichalex/291e5c34a6f64a78611b4d8d15e67f4f https://jsfiddle.net/reactjs/69z2wepo/

Konstantin
10.05.2017
09:51:51
И под занавес этой темы, я только что выхил за кофейком, а на улице шел снег. 10 мая. снег.пиздец.

Сергей
10.05.2017
09:53:47
И под занавес этой темы, я только что выхил за кофейком, а на улице шел снег. 10 мая. снег.пиздец.
ага ещё и солнце светит, жарко так я сначала охуел, не понял, подумал что пенопласт сыплется

Konstantin
10.05.2017
09:54:38
Сергей
10.05.2017
09:55:08
https://www.instagram.com/p/BT5yqZWFqfU/

Konstantin
10.05.2017
09:55:32
это СПб?

Google
Сергей
10.05.2017
09:55:57
ага

Konstantin
10.05.2017
09:56:37
я на 1236 км южнее, но у нас таже фигня(((

Сергей
10.05.2017
09:57:25
Konstantin
10.05.2017
09:57:33
Киев

Сергей
10.05.2017
09:59:37
фигасе там тоже

Gleb
10.05.2017
10:58:32
Jest ругается на импорты css внутри тестируемого компонента, кто встречался? как лечить?

Сергей
10.05.2017
11:03:16
https://facebook.github.io/jest/docs/webpack.html#mocking-css-modules

Gleb
10.05.2017
11:06:24
Т.е все импорты с цссами сразу заработают после конфига?

Спасибо!)

code4aman
10.05.2017
11:08:47
есть знатоки yup? как сделать такую валидацию: есть схема { newPassword, confirmPassword, ...rest } если есть значение в newPassword или confirmPassword то их значения должны совпадать

Gleb
10.05.2017
11:09:08
Сергей А что предполагается у меня должно быть в fileMock.js?

code4aman
10.05.2017
11:09:41
У меня там module.exports = {}

Gleb
10.05.2017
11:10:56
спасибо

Сергей
10.05.2017
11:17:34
ох ты ж



Страница 1263 из 5115