
Victor
26.05.2016
14:20:59
https://gitter.im/backlog-js/questions

Dmitry
26.05.2016
14:26:24

Victor
26.05.2016
14:46:55
чта?

Ҫѐҏӗѫӑ
26.05.2016
14:53:47
backlogjs — это хенгауты

Google

Ҫѐҏӗѫӑ
26.05.2016
14:54:09
профит по сравнению с системой контроля версий в том, что можно смотреть и пить пивко
еще есть профит по сравнению с утюгом и дождем
ваще проще подписаться на ютюб канал, но там пока ничего не готово
но следующий хэнгаут 8го числа — это могу заранее сказать точно

hlomzik
26.05.2016
14:57:21
вы о чем сейчас вообще? %)

Ҫѐҏӗѫӑ
26.05.2016
14:57:38
не важно короче)
есть хэнгауты
https://www.youtube.com/watch?v=C3OqbN-Rtro
называются беклогжс. вчера первый был. о чем Дмитрий я не знаю
но Виктор явно ими интересовался

Vitaliy
26.05.2016
15:06:22
ребят. вопрос. чисто реакт и верстка =)
есть таблица
при клике на одну из строк нужно чтоб под ней делался так называемый slideToggle

Denis
26.05.2016
15:07:05

Vitaliy
26.05.2016
15:07:12
строки, которая не существует

Google

Vitaliy
26.05.2016
15:07:25
ткнул. добавилась в дом и начала анимироваться

hlomzik
26.05.2016
15:08:16
в чем проблема? создавай и анимируй)

Denis
26.05.2016
15:08:21
сделать фейковую строку заранее?

hlomzik
26.05.2016
15:08:23
componentDidMount

Vitaliy
26.05.2016
15:09:02
проблема в том, что когда второй раз тыкаешь - элемент моментально исчезает

hlomzik
26.05.2016
15:09:09
меня вот удаление больше волнует

Vitaliy
26.05.2016
15:09:11
он пропадает из ДОМа и уже не анимируется

hlomzik
26.05.2016
15:09:55
ага) я тут раньше спрашивал уже, есть компоненты для этого. ну или можно просто начинать анимацию, а удалять по окончании
ReactTransitionGroup https://facebook.github.io/react/docs/animation.html

Vitaliy
26.05.2016
15:10:56
оно на раскрытие и есть

S
26.05.2016
15:12:20
@chicoxyzzy https://github.com/facebook/react/issues/6166 А вот это уже работает?

Ҫѐҏӗѫӑ
26.05.2016
15:12:39
нет, и не будет

S
26.05.2016
15:13:00
А как мне на integer провалидировать?

Ҫѐҏӗѫӑ
26.05.2016
15:13:13
тайпскриптом

S
26.05.2016
15:13:27
хуева)
Написал бы либу своих PropTypes

Ҫѐҏӗѫӑ
26.05.2016
15:14:17
ваще на самом деле в тайпскрипте тоже нет интов
я им подкидывал уже много проптайпсов, но они не хотят
ваще и правильно делают

S
26.05.2016
15:15:01

Google

S
26.05.2016
15:15:06
я буду)

Ҫѐҏӗѫӑ
26.05.2016
15:15:15
мне не нужно

S
26.05.2016
15:15:24
ясн

Vitaliy
26.05.2016
15:16:38
эх, и тут ничего не сказали((

hlomzik
26.05.2016
15:17:07

Vitaliy
26.05.2016
15:17:48
есть компоненты для этого - что за компоненты?

Ҫѐҏӗѫӑ
26.05.2016
15:18:04
вот тут должна быть парочка пропозалов для проптайпсов, можно оттуда код стырить
https://github.com/pulls?q=is%3Apr+author%3Achicoxyzzy+is%3Aclosed

Alexander
26.05.2016
15:18:40
Vitaliy у тебя видимо анимация на скрытие не отрабатывает, поэтому и дергается

Vitaliy
26.05.2016
15:19:14
она не неотрабатывает
ей нечего анимировать, потому что элемента уже нет в доме

hlomzik
26.05.2016
15:19:34

Alexander
26.05.2016
15:19:37
<ReactCSSTransitionGroup transitionName="example" transitionEnterTimeout={500} transitionLeaveTimeout={300}>
{items}
</ReactCSSTransitionGroup>
Глянь ссылку выше

hlomzik
26.05.2016
15:19:48
“ну или можно просто начинать анимацию, а удалять по окончании”

Vitaliy
26.05.2016
15:20:59
и как ты предлагаешь это сделать?
у меня прошел рендер -> он видит, что нет стейта сигнализирующего о том, что допстроки должны показываться
вот он и убивает строку

Alexander
26.05.2016
15:21:19
Он удалит после того как анимация закончится
смотри пример в документации

Vitaliy
26.05.2016
15:23:55
да доку эту я уже хз скока раз видел, суть от этого не меняется.
либо же по структуре внешней что то идет не так
каждая tr - это компонент

Alexander
26.05.2016
15:24:21
Возможно у тебя стили на анимацию не правильные

Google

Vitaliy
26.05.2016
15:24:31
сверху tbody который является оберткой - CSSTransitionGroup
я по дебагеру вижу, что строка исчезает
Alexander просто подход у меня не прокатит)))

Alexander
26.05.2016
15:25:20
Посомтри в react-router там есть примеры анимаций страниц.

Vitaliy
26.05.2016
15:25:22
тут ситуация сложнее))
о, роутер, анимация страниц, интересно

Alexander
26.05.2016
15:26:08
https://github.com/reactjs/react-router/tree/master/examples/animations

Vitaliy
26.05.2016
15:54:20
спасибо
а кто то имел дело с cloneElement?
что оно есть такое?

Admin
ERROR: S client not available

Vitaliy
26.05.2016
15:54:58
и для чего?

Denis
26.05.2016
15:57:44
React modal?

Alex
26.05.2016
17:58:58
Ребят, как можно передать данные из одного child compoment в другой ? У меня есть ProductsPage '/products' который рендерит список товаров, ProductPage '/product/:productSku' который рендерить товар по отдельности, в обоих компонентах есть onClick для отправки в корзину, так вот как забрать данные по клику для компонента CartPage '/cart' ?

Andrey
26.05.2016
18:04:37

Alex
26.05.2016
18:06:14
я смотрю курс от itvdn там по redux ничего не было ) а дз сделать типа инет-магазин, я вот уперся в корзину )

Victor
26.05.2016
18:30:02

Alex
26.05.2016
18:33:27

Anatolii
27.05.2016
04:54:03
Всем привет! Кто-нибудь может мне помочь разобраться с Redux - капец какой-то, ни как не могу въехать
уже кучу скринкастов просмотрел, последний от Дэна Абрамова был. Но нифига не вкуриваю

Google

Anatolii
27.05.2016
04:57:22
Может оно мне и не надо? Я сейчас юзаю react в качестве апп для дополненой функциональности php сайта

Алексей
27.05.2016
04:58:44
А что именно не понимаешь?
Саму концепцию? Или как использовать? Или зачем использовать?

Anatolii
27.05.2016
05:02:12
Зачем? И как?
Ну про как в целом можно разобраться
Что мне мешает у моего App создать единственый state в root и туда же все хендлеры засунуть и далее через пропсы компонентов передавать root как app=this и в любом компоненте иметь доступ к глобальному state?
Чем этот подход отличается от redux?

Алексей
27.05.2016
05:09:16
Ну по идее ни чем) Redux делает почти тоже самое) Выносит state в одно место и обеспеивает однонаправленный поток данных
Но в Reduxe есть какое-то логическое разделение, между экшенами, редьюсерами и константами
у тебя же это будет все в один файл впихнуто
Плюс, допустим у тебя есть такая композиция компонентов App -> View -> SomeComponent, и вот SomeComponent должен выполнять какие то действия с главным стэйтом, а View нет, но тебе все равно придется пробрасывать по всему пути нужные пропсы, что бы твой SomeComponent мог выполнять свои функции
а это опять же какая-то каша получается

Anatolii
27.05.2016
05:19:30
ну да


Алексей
27.05.2016
05:20:36
В reduxe этого не надо, ты подключаешь стейту глобальному, только те компоненты, которые должны с ним работать
От сюда и разделение на компоненты и контейнеры (иногда называются глупые и умные компоненты, но не всем нравится такая терминология)
Контейнеры - это те компоненты, которые работают с редуксовским стэйтом, а обычные компоненты работают с пропсами и своим стейтом
Например, Button - будет компонент, его можно где угодно использовать, все что он делает, например выполняет обработчик onClick из props
А вот какая-нить сферическая кнопка VoitButton - которая отправляет запрос на сервер, при нажатии - это уже контейнер
и если Button вообще может быть ф-цией ( stateless компонент)
const Button = ({onClick, children}) => (
<button onClick={onClick}>{children}</button>
)
То VoitButton будет чуть сложнее, хотя бы потому, что будет обращаться к state, вызывая нужные экшены, но в функции render мы используем наш компонент Button
class VoitButton extends Component {
handleClick() { /* вызываем экшены */}
render() {
return (
<Button onClick={this.handleClick}>
Голосовать
</Button>
)
}
}
Вот как то так


Anatolii
27.05.2016
05:32:45
хм, интересно

Алексей
27.05.2016
05:34:23
Как побочный эффект, очень структурирует проект, потому что тебе за ранее приходится думать