
Evgeny
24.08.2016
13:41:03

Vadim
24.08.2016
13:42:55
https://facebook.github.io/react/docs/reusable-components.html#prop-validation что PropTypes работае только в development mode, а как реакт понимает, когда production, а когда developement

Leonid
24.08.2016
13:44:25

Vladimir
24.08.2016
15:19:22
Кто-нибудь знает что сейчас обсуждается в отношении High Order Component? Давненько видел issue что не удобно с ними из-за кучи проблем с передачей refs, вызовом методов оригинального класса и тп. Может есть ссылка на обсуждение?

Google

Kreizo
24.08.2016
15:30:08
есть у кого то желание поработать совместно над проектом ?
по скайпу
react + redux + webpack

Ilya
24.08.2016
15:32:39

Kreizo
24.08.2016
15:33:07
twitch youtube twitter api
на тематику доты
хотя можно на любую другую игру сделать

Илья
24.08.2016
15:34:44
@Kreizo уже учавствую в одном проекте, а так бы попробовал

Alexander
24.08.2016
16:25:05
а как тот канал с jobs’ами реактовыми называется?

Nikita
24.08.2016
16:28:58
добавьте описание все чатов в описания групп, админы /сс @DenisIzmaylov

Ilya
24.08.2016
16:29:27

Alexander
24.08.2016
16:29:57
о, спасибо!

Google

Nikita
24.08.2016
16:34:43

Ilya
24.08.2016
16:36:48
красивее будет
а стоп, .md в gist рендерится?

Nikita
24.08.2016
16:37:19
есессно)
один движок же)

Ilya
24.08.2016
16:37:35
а, туплю, просто не пользуюсь ими, у меня для этого bitbucket

Kreizo
24.08.2016
17:29:16
ребят подскажите как можно зарендерить iframe по клику если список рендерится после componentDidMount

Илья
24.08.2016
17:55:44

Denis
24.08.2016
17:58:19

Anton
24.08.2016
18:02:38
Подскажите, нормально ли в state компонента ложить метод для работы со свойствами, конкретно - получать элемент массива по slug. Вроде бы натыкался на решение подобных вопросов через введение доп. массива и сопоставление, но не могу найти, т.к. не могу сформулировать вопрос(

Cocker
24.08.2016
18:04:50
Класть

Anton
24.08.2016
18:07:14
Подскажите, нормально ли в state компонента класть метод для работы со свойствами, конкретно - получать элемент массива по slug. Вроде бы натыкался на решение подобных вопросов через введение доп. массива и сопоставление, но не могу найти, т.к. не могу сформулировать вопрос(
Теперь по существу?)
Класть

Paul
24.08.2016
18:21:41
Нет, в стэйте должны быть чистые данные от которых зависит факт необходимости рендера.
Методы к этому не относятся, методы - свойста экземпляра компонента

Yevhenii
24.08.2016
18:30:09

Kreizo
24.08.2016
18:43:20

Dmitry
24.08.2016
19:53:47
обсуждали вроде сегодня что-то про сохранение пропсов в стейт? Лучшего варианта нет, когда что-то похожее нужно? Думаю насчет возможности передавать в компонент позицию элемента, а дальше уже только менять стейт или стили напрямую

yep
24.08.2016
20:10:04
Чуваки, а как метод onChange забандить на экземпляр компонента? Потому что сейчас, когда вызывается onChange— вызывается метод класса, а не тот, что дефолтно задается в пропсах.

Alexander
24.08.2016
20:13:38
Вызывать его как props.onChange.call(this), например

Google

Alexander
24.08.2016
20:14:07
Или хранить в стейте с bind(this)

yep
24.08.2016
20:15:50

Alexander
24.08.2016
20:16:25
Не может быть такого
В смысле, реально?

yep
24.08.2016
20:17:17
ага, щс еще раз перепроверю

anoru
24.08.2016
20:17:59
тоже не верю и стало интересно) но уже в кровате и не проверить

Alexander
24.08.2016
20:18:08
В this.props должна быть копия defaultProps

anoru
24.08.2016
20:19:58
но мне кажется делать onChange в дефолт пропсах хуже, чем вызывать компонентовский onChange и далее вызывать из пропсов, если там есть, а если нет, то консоль логи


yep
24.08.2016
20:22:22
import React from 'react';
import classNames from 'classnames';
class Input extends React.Component {
static propTypes = {
// ...
onChange: React.PropTypes.func
}
static defaultProps = {
name: '',
type: 'text',
className: '',
value: '',
onChange: (value) => {
console.info(Current value is: ${value}.\nYou should overwrite onChange method.);
}
}
constructor(props) {
super(props);
this.state = {
value: this.props.value || ''
};
}
componentWillReceiveProps(nextProps) {
this.setState({
value: nextProps.value
});
}
render() {
console.info(this.props) // здесь есть onChange
console.info(this.onChange) // undefined
const { className, type, disabled, notEditable, invalid, required, ...rest } = this.props;
delete rest.value;
return (
<input
value={this.state.value}
{/* но сюда как-то попадает onChange и он срабатывает */}
onChange={this.onChange}
type={type}
{...rest}
/>
);
}
}
export default Input;

anoru
24.08.2016
20:25:11
Из-за...rest

yep
24.08.2016
20:25:20
бля

anoru
24.08.2016
20:25:23
Удали это и будет ок

yep
24.08.2016
20:25:27
точно, спасибо

anoru
24.08.2016
20:25:59
delete в рендере, кстати, тоже подозрительно выглядит

Alexander
24.08.2016
20:26:24

yep
24.08.2016
20:27:18
Из-за...rest
ты случайно не сидел 3 года назад в руби-конфе? ник знакомый

anoru
24.08.2016
20:27:42
да. Было дело)

yep
24.08.2016
20:27:47
хах

anoru
24.08.2016
20:27:48
Если ты про скайп

yep
24.08.2016
20:27:54
да

Google

anoru
24.08.2016
20:28:20
))
А у тебя там какой был ник?)

yep
24.08.2016
20:30:14
сорьки за офтоп, чуваки
(в личку отвечу)

Admin
ERROR: S client not available

Alex
24.08.2016
20:55:58
Какое у кого мнение о концепции разделения компонентов и т.н. контейнеров:
https://medium.com/@dan_abramov/smart-and-dumb-components-7ca2f9a7c7d0

Sergey
24.08.2016
20:57:47
Очень удобно каждый раз вспоминать, подписан у тебя компонент напрямую к стору или нет. Так же у меня всегда есть лишняя минутка, чтобы в случае чего перенести компонент из одной папки в другую

Dmitry
24.08.2016
21:00:28
Начинаю с контейнера всегда, если только не уверен заранее, что компонент будет реюзаться в разных контекстах ( ui элементы )

Denis
24.08.2016
21:03:20
не могу не оставить это здесь: https://www.youtube.com/watch?v=Xt5qpbiqw2g

Vladimir
24.08.2016
21:08:33
Еще у дани есть статья про нормализованные сторы, которая много мне крови потратила
Потому что сначала я сам повелся, а потом стал работать в проекте, в котором предшественники повелись
И это ад, не делайте так никогда:)

Alexander
24.08.2016
21:23:04
Что плохого в нормализации?

Владимир
24.08.2016
21:29:19

Sergey
24.08.2016
21:29:42

Dmitry
24.08.2016
21:30:36
ну компоненты и контейнеры удобно делить на разные папки кмк

Владимир
24.08.2016
21:30:39
Серега сегодня весь сарказм убил, не понял сразу
Самое удобное для меня это делить компоненты через роуты

Dmitry
24.08.2016
21:31:32
Экшены, редьюсеры и тд - успел устать от разделенных пока по гайдам учил

Владимир
24.08.2016
21:31:47
Мы уходим от понимания контейнеров, все общие контролы лежат отдельно, все специфичные в папке с роутом

Google

Dmitry
24.08.2016
21:33:14
Ну по сути роут = контейнер, у меня просто пока до роутов не дошло, вся логика на одном экране крутится

Владимир
24.08.2016
21:34:20
Да, в моем понимании контейнер стал роутом

Kreizo
24.08.2016
21:36:21
у меня весь проект в одном файле
теперь не знаю как его порезать что бы он работал

Alexander
24.08.2016
21:40:11

Михаил
24.08.2016
21:47:00

Konstantin
24.08.2016
21:48:09
Ночной вброс https://github.com/goatslacker/react-ssr-benchmarks

Vladimir
24.08.2016
21:51:38
тоже интересно послушать
очень геморно убирать куски и рефакторить. Если все данные в одном сторе условной страницы, то когда эта страница устаревает, ты просто удаляешь ее и ее экшны. В случае нормализованного стора данные в нем зависят от всего приложения. И очень сложно сразу сказать, какие экшны влияют на данные на этой странице, а какие - нет
ну и сама нормализация - не всегда тривиальный процесс.
Обычно разным страницам нужен разный сет данных, которые не всегда очень хорошо нормализуются

Andrey
25.08.2016
06:25:27

Roman
25.08.2016
06:59:41

Ilya
25.08.2016
08:09:16
Парни, у нас появилась группа по Vue.js - это библиотека для построения интерактивных веб-интерфейсов, которая фокусируется на ViewModel слое паттерна MVVM. Многие наверняка слышали о ней. Всем, кому это интересно, добро пожаловать: https://telegram.me/vuejs_ru

Vladimir
25.08.2016
08:19:00
#webpack #isomorphic
а кто-нибудь женил isomorphic-style-loader и extract-text-plugin?