@react_js

Страница 811 из 5115
Alexander
10.01.2017
07:10:49
Придет лид и скажет обновлять (если яйца за такой код еще не оторвал)

Regina
10.01.2017
07:11:01
Подожди пятого.)
пятую версию судя по всему тоже активно пилят))

Sergey
10.01.2017
07:11:25
та пофиг, у нас нет команды js, я один разраб js, и приложения на реакте все одностраничные, так что могу позволить себе немного своего стиля кода)

Alexander
10.01.2017
07:11:42
Короч мутирование это плохо. А в кишках реаста я не лазил
Можно этот видос поглядеть, полезно https://www.youtube.com/watch?v=_MAD4Oly9yg

Google
Andrey
10.01.2017
07:14:46
По ссылке там есть чё?

Sergey
10.01.2017
07:16:03
По ссылке там есть чё?
https://facebook.github.io/react/docs/forms.html#controlled-components

я кажеться догадываюсь почему предупреждение)

это насчет мутирования)

ща проверю

Dmitrii
10.01.2017
07:17:33
Ребят, стоит переходить на react-route 4? :)
Недавно перешёл , все супер, реально лучший роутер

Regina
10.01.2017
07:18:49
@dimonnwc3 спасибо) А проблем с другими библиотеками не возникло?

какие подводные камни у перехода? К чему готовиться?)

Andrey
10.01.2017
07:20:13
какие подводные камни у перехода? К чему готовиться?)
Как обычно. К постою. К резервному серверу. )

Dmitrii
10.01.2017
07:20:14
Апи поменяли, много кода переписать прийдется, ну и мозг немного перестроить, если он ещё в react way не научился.

Regina
10.01.2017
07:21:48
ок, спасиб) Пойду внимательно смотреть доки и готовиться к лучшему)))

Sergey
10.01.2017
07:27:53
это насчет мутирования)
не, дело было не в мутировании, все равно предупреждение, но я написал все в setState и получилось с виду оч ужасно и не читабельно

Google
Sergey
10.01.2017
07:28:29
за такое точно можно пальци сломать)

Timur
10.01.2017
07:29:01
ППЦ.

Об этом в доке написано.

Люди тут документацию Реакта не читают?

Sergey
10.01.2017
07:29:32
что написанно? ты о чем

на примерах кода в основном учюсь

Maxim robox
10.01.2017
07:30:18
На хабре есть перевод доки.

Sergey
10.01.2017
07:30:30
Timur
10.01.2017
07:31:09
что написанно? ты о чем
https://facebook.github.io/react/docs/state-and-lifecycle.html#state-updates-may-be-asynchronous

React may batch multiple setState() calls into a single update for performance. Because this.props and this.state may be updated asynchronously, you should not rely on their values for calculating the next state.

Про данный скрин.

Nikita
10.01.2017
07:47:26
Ага. Популярная ошибка. Кажется ее здесь через день обсуждают

Aleksey
10.01.2017
07:50:30
на такие случаи есть this.setState((state, props) => ...) вариант

Sergey
10.01.2017
07:53:42
как

Timur
10.01.2017
07:54:03
Оберни в fat arrow function.

Которая получает prevState.

Его и юзай, вместо this.state.

Это не то чтобы некрасивый вариант, он неправильный. И потенциально бажный.

Sergey
10.01.2017
07:55:11
а, какая разница? все равно ф-ция будет возращать тот же объект

Google
Timur
10.01.2017
07:55:20
React may batch multiple setState() calls into a single update for performance. Because this.props and this.state may be updated asynchronously, you should not rely on their values for calculating the next state.

Dan Abramov чёрным по белому написал в доке, почему это бажный вариант.

Sergey
10.01.2017
07:56:15
я вообще пропсы не трогаю в данном случае

Timur
10.01.2017
07:56:26
this.state трогаешь.

Aleksey
10.01.2017
07:56:33
не знаю как относишься к redux-form и редаксу, в целом, но вот такой страшненький код оно решает на раз

Sergey
10.01.2017
07:56:35
и?

Timur
10.01.2017
07:56:45
и?
В документации написано нельзя так трогать.

Потом не удивляйся undefined behavior в проекте.

Через полгода.

Sergey
10.01.2017
07:57:30
стоп, я просто обновил состояние, что в этом такого

я чет не догоняю

Aleksey
10.01.2017
08:00:36
если у тебя этот setState ровно в одном месте, то сильно страшного ничего произойти не должно. проблемы начинаются когда есть несколько setState и ты думаешь что они отработают в определенном порядке

Aleksey
10.01.2017
08:03:12
а на самом деле реакт батчит обновления стейта и в зависимости от условий ты можешь получить как уже новый стейт в следующем setState так и еще старый. особенно если у тебя эти setState раскиданы по lifecycle методам

Sergey
10.01.2017
08:08:07
ммм, понял, типо нужно старое состояние в новое записывать

развели тут диалог на 20 сообщений)

Alexander
10.01.2017
08:11:20
this.setState(state => ({ checked: !state.checked, }))

Тебе про это говорят, а не про то, что старое состояние надо записывать

Sergey
10.01.2017
08:11:36
понял! спасибо! не знал

this.setState(state => ({ checked: !state.checked, }))
ну... здест state это же старое состояние

типо prevState

Google
Alexander
10.01.2017
08:12:19
И оно никуда не записывается

Timur
10.01.2017
08:12:40
понял! спасибо! не знал
Документацию лучше почитать, на русском благо есть, как уже сказали.

Andrew
10.01.2017
08:15:25
как пропс к toUpperCase() присобачить? <strong>{this.props.myprop}!</strong>
CSS text-transform: uppercase; присобачить имхо самое православное будет.

Admin
ERROR: S client not available

Aleksey
10.01.2017
08:18:34
это просто означает что стейт где-то в самом верху )

в целом, я фанат редакса. стейт возможен но только там где оно уместно

Sergey
10.01.2017
08:19:25
у меня есть чекбоксы, когда я их чекаю, в состояние записываеться что они чекнуты или нет, и тут же в них я прописываю checked={this.state.checked[name]} предпологаю что из за этого

Sergey
10.01.2017
08:21:17
прод

Aleksey
10.01.2017
08:21:31
тогда рекомендую инвестировать время в redux и до кучи в redux-form. окупится

Andrew
10.01.2017
08:22:49
redux-form мне не зашел.

Sergey
10.01.2017
08:22:55
редукс умею, но дело не в нем

Aleksey
10.01.2017
08:24:06
дело, безусловно не в нем а в архитектуре. если приходится городить такие костыли с setState и ref - это точно кривая архитектура компонента. а редакс просто один из способов ее поправить

Sergey
10.01.2017
08:24:35
как же без refs

Aleksey
10.01.2017
08:25:02
если ты не работаешь напрямую с элементом DOM'a то запросто

Sergey
10.01.2017
08:25:17
работаю

кароче я пилю веб аналитику как в яндекс метрики, там куча фильтров

Aleksey
10.01.2017
08:26:32
this.refs.searchFilter.value - это кривоватый способ получения значения вместо onChange/onSelect или что там за контрол

Google
Sergey
10.01.2017
08:27:06
ты имеешь ввиду через евент нужно получать) но здесь не так)

<input value/> <button onClick>

вот так

поэтому

Brs
10.01.2017
08:28:18
это не ошибка а ворнинг

Alexander
10.01.2017
08:28:27
Сделай фидл уже, там тебе на нем сразу и покажу как делать

Sergey
10.01.2017
08:28:35
да, все работает

но предупреждение

это

Brs
10.01.2017
08:29:01
https://facebook.github.io/react/docs/uncontrolled-components.html

Aleksey
10.01.2017
08:29:06
<input value/> <button onClick>
не уловил. есть инпут - если надо получить его значение - вешаешь onChange

Sergey
10.01.2017
08:29:38
onChange вызываеться каждый раз при изменении инпута, а мне нужно по клику на кнопку

поэтому использую refs.input.value

Alexander
10.01.2017
08:30:15
Ну записывай в промежуточное состояние, потом в основное сливай

Aleksey
10.01.2017
08:30:22
onChange будет просто сохранять состояние инпута. что тебе надо сделать при нажатии на кнопку - делай

Brs
10.01.2017
08:30:29
вкратце, если нужно только значение по умолчанию брать из стейта

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