
Denis
18.02.2017
16:25:30

Yumi
18.02.2017
16:25:30
есть пример проектов с использованием css-in-js, чтобы потыкать посмотреть?

Dreamerinnoise
18.02.2017
16:27:45
Или я не догоняю

Google

Denis
18.02.2017
16:28:57
Наверное всё-таки подход такой неправильный

Dreamerinnoise
18.02.2017
16:29:39
Ну в mui-next везде можно компоненту указать свой класс
Они на jss. Я туда часто подглядываю в плане решений

Denis
18.02.2017
16:30:21
(mui-text == materual-ui, ветка next), если кто не знает

Yumi
18.02.2017
16:32:06
аригато

Denis
18.02.2017
16:32:33
охайо

Roman
18.02.2017
18:08:11
omgf благодарю за такие стикеры!!
в мире react есть альтернатива wtform? желательно с подержкой json-schema

Anton
18.02.2017
18:28:59
что то я не совсем пойму. если я не коннекчу компонент, а он может получить новые пропсы, но мне таки надо делать такое?
componentWillReceiveProps(nextProps) {
this.setState({ value: nextProps.value});
}
иначе не происходит ре-рендеринга...

Artur
18.02.2017
18:29:46
shouldComponentUpdate есть?

Anton
18.02.2017
18:29:53
нет

Google

Artur
18.02.2017
18:30:09
А в рендере ты используешь this.props или this.state?

Anton
18.02.2017
18:30:38
this.state

Mark
18.02.2017
18:30:46
Может сначала нужно разобраться, зачем тебе state, если ты туда кладёшь значение из props?
Может в твоём случае это избыточно

Artur
18.02.2017
18:31:02

Anton
18.02.2017
18:31:11
это обёртка вокруг <input/>

Artur
18.02.2017
18:31:32
Пытаешься хранить состояние инпута в обёртке?

Anton
18.02.2017
18:31:42
да

Artur
18.02.2017
18:31:55
А как будешь значение снаружи получать?

Anton
18.02.2017
18:32:28
вот от чего то я думал что setState будет

Eugene
18.02.2017
18:32:51
да
Лучше принимай value сверху и функцию onChange

Artur
18.02.2017
18:33:03
А, нужна для корректного проброса значения, а не события
Короче вот: https://facebook.github.io/react/docs/lifting-state-up.html

Anton
18.02.2017
18:33:39
onChange тоже есть

Artur
18.02.2017
18:33:46
Можно сразу использовать какой-нибудь redux-form или mobx-form
export const Input = ({value, onChange}) => <input value={value} onChange={e => onChange(e.target.value)} />

Anton
18.02.2017
18:34:37

Artur
18.02.2017
18:35:07

Google

Artur
18.02.2017
18:35:23

Anton
18.02.2017
18:35:46
без стейта — перекладывать данные в стор или в стейт верхнего компонента
такие примитивные "чистые" компоненты я понимаю

Dreamerinnoise
18.02.2017
18:36:39

Anton
18.02.2017
18:36:44

Artur
18.02.2017
18:36:58
семантическое название
Ничё не понял. По логике типа onSubmit вызывается тогда, когда в инпуте меняется значение?

Danila
18.02.2017
18:37:32
господа, я помню, уже как-то задавал этот вопрос, но тогда не смог найти норм ответа. не знаете какие-нибудь классные визуальные IDE для реакта? вроде бы кто-то даже пилил свои собственные

Anton
18.02.2017
18:37:43

Danila
18.02.2017
18:38:45
вебшторм
так есть визуальный редактор react’а? оО

Anton
18.02.2017
18:39:00

Danila
18.02.2017
18:39:31

Anton
18.02.2017
18:39:38

Dreamerinnoise
18.02.2017
18:39:38
Так может знает кто?
Хотел спросить у реакт экспертов, если я использую портал-технику для модальных окон, я не пожалею об этом потом? Ну то есть, фб не собирается выпиливать unstable_rendersubtreeintocomponent?

Danila
18.02.2017
18:39:54
да
не, увы, это не очень интересно =) такое у меня и в саблайме отлично работает.

Artur
18.02.2017
18:39:58
когда нажимается ентер или он блур
Ну то есть это по сути тот же onChange, только срабатывает по блуру. Тогда да, хранить промежуточное состояние надо в стейте локальном, и ловить componentWillReceiveProps, причём обрабатывать всякие стрёмные штуки типа:
componentWillReceiveProps(nextProps) {
if (this.props.value !== nextProps.value) this.setState({value: nextProps.value}) // без if введённое значение может неожиданно затереться
}
Визуальный редактор это типа мышкой компоненты на странице расставлять?)

Danila
18.02.2017
18:40:47

Google

Алексей
18.02.2017
18:40:49

Anton
18.02.2017
18:40:58

Dreamerinnoise
18.02.2017
18:41:07
И про бест практис

Artur
18.02.2017
18:41:48

Anton
18.02.2017
18:42:34
да?

Admin
ERROR: S client not available

Алексей
18.02.2017
18:43:39
Ага
про бест практис не скажу, я юзаю, все норм. там че то в react-bootstrap обсуждали это дело)

Artur
18.02.2017
18:44:39

Anton
18.02.2017
18:45:02

Artur
18.02.2017
18:45:05
Ну или внутри ещё хранить флаг "изменённости", и если он был изменён то игнорить внешщний пропсы до onSubmit
Короче стрёмно это всё )
masked input не сделаешь
или придётся внутрь пробрасывать

Anton
18.02.2017
18:46:12
componentWillReceiveProps(nextProps) {
if (this.state.initialValue !== nextProps.value)
this.setState({
value: nextProps.value,
initialValue: nextProps.value,
storedValue: nextProps.value,
isActive: false
});
}

Artur
18.02.2017
18:46:19
я люблю управлять стейтом снаружи полностью

Dreamerinnoise
18.02.2017
18:46:42

Artur
18.02.2017
18:46:42

Google

Anton
18.02.2017
18:47:32
но щас подумаю, может и правда

Artur
18.02.2017
18:48:14
Вообще то нет, потому что при обновлении от сервера у тебя новое значение придёт в тот же componentWillReceiveProps и сравнится со старым значением
Ну и кстати нафига три стейта: value, initialValue, storedValue?

Anton
18.02.2017
18:48:33
ну работает же

Artur
18.02.2017
18:48:37
Двух вполне достаточно
ну работает же
Значит там какая то ещё магия, например компонент анмаунтится и маунтится

Anton
18.02.2017
18:49:08
stored на случай нажатия искейпа

Artur
18.02.2017
18:49:28
А оно не в value останется разве?

Andrew
18.02.2017
18:49:37

Artur
18.02.2017
18:49:54
или по эскейпу предполагается отмена изменений?

Anton
18.02.2017
18:49:56
value меняется при редактировании. затем жмётся esc - откатывается значение

Artur
18.02.2017
18:50:04
Если отмена то у тебя initialValue для этого есть

Anton
18.02.2017
18:50:20
оно кажись позже появилось... :)

Artur
18.02.2017
18:50:36
Пласты кода )
Короче ладно, разобрались кажется

Anton
18.02.2017
18:50:54
ага... надо вобщем подумать. сенкс

Artur
18.02.2017
18:51:10
велкам

Danila
18.02.2017
19:09:20

Vladimir
18.02.2017
19:12:46

Lupsick
18.02.2017
19:14:12
картбланш