
Arthur
18.08.2018
16:18:23
можно ли использовать normalizr в редьюсерах ?

Тимофей
18.08.2018
16:19:50

Sergey
18.08.2018
16:35:39

Sergey
18.08.2018
21:30:48
Никак не могу понять можно ли в редаксе замутить несколько сторов чтобы можно было нормальные гет и сет глобальные из разных компонентов делать

Google

Тимофей
18.08.2018
21:32:01

Sergey
18.08.2018
21:32:52

Тимофей
18.08.2018
21:33:15

Sergey
18.08.2018
21:34:42
Ты доки читал? connect
читал, можешь на пальцах объяснить что делать для того чтобы просто посмотреть что в переменной в сторе

Cenator
18.08.2018
21:35:09

Тимофей
18.08.2018
21:35:48

Sergey
18.08.2018
21:37:45
Когда? И где?
Условно: есть 3 компонента, 2 из наих меняют цвет у третьего. при изменении цвета нужно узнать текущее значение

Тимофей
18.08.2018
21:38:16

Sergey
18.08.2018
21:39:23
Connect же
коннект выполняется однократно? я единственное что понял из смысла коннекта это прокидывание в пропсы компонента свои переменные

Тимофей
18.08.2018
21:42:33

Георгий
18.08.2018
21:42:36
если редакс методом менять стор, то все компоненты, подключившие этот стор получат новые props

Sergey
18.08.2018
21:44:32

Google

Тимофей
18.08.2018
21:44:52

Георгий
18.08.2018
21:45:34

Cenator
18.08.2018
21:45:44

Sergey
18.08.2018
21:46:58
Понял принял @gropox @tanyaisinmybed и адимн, спасибо

Natalia
18.08.2018
22:28:58
привет, есть кто не спящий
кто как борется с infinity loop в setState
//get foundPlaces from markerpanel
getFoundPlaces = (foundedPlaces) => {
if(foundedPlaces !== this.state.foundPlacesFromMarkerPanel){
this.setState({
foundPlacesFromMarkerPanel : foundedPlaces
})
}
}

Abu
18.08.2018
22:38:29

Natalia
18.08.2018
22:42:29
вызываю в рендере ребенка до return

Георгий
18.08.2018
22:48:57

Natalia
18.08.2018
22:49:35
потому что там находится отсортированный массив, можно внутри самого компонента. <MarkersList
sendArray={this.props.getPlaces(foundedPlaces)}
showWindow = {this.props.openInfoWindow}
{...[foundedPlaces]}
/> но результат один и тот же

Георгий
18.08.2018
22:52:10
Если надо просто отфильтровать входные данные, то не обязательно делать setState, можно в render результат использовать

Natalia
18.08.2018
22:52:48
данные отфильтрованы, передать родительскому компоненту

Георгий
18.08.2018
22:54:18
Ну тогда фильтровать надо в родителе, а не в ребенке. В ребенке только задается фильтр.

Natalia
18.08.2018
22:56:41
уже эта логика есть

Георгий
18.08.2018
22:58:21
К примеру страничка со списком городов и фильтром по названию города. У MyPage два дочерних компонента, Filter и CityList. В Фильтре только задается фильтр. По onchange к полю cityname вызывается метод родителя переданный в props. В MyPage компоненте уже сам филтьр cityname передается пропсами в компонент CityList где данные и фильтруются
И рендеряться в виде списка

Natalia
18.08.2018
22:59:59
я в курсе, но эта логика что есть, уже есть и все
задача поднять от ребенка отфильтрованный массив и не получить инифинити

Google

Artem
18.08.2018
23:01:28

Георгий
18.08.2018
23:01:54
Ну тогда в ребенке в методе ComponentShouldUpdate проверять, поменялся ли state

Natalia
18.08.2018
23:02:19

Artem
18.08.2018
23:02:30

Natalia
18.08.2018
23:03:02
нет, просто

Artem
18.08.2018
23:05:51
в didUpdate стейт меняешь?

Natalia
18.08.2018
23:06:40

Artem
18.08.2018
23:06:57
покажи код двух компонентов где это делаешь

Natalia
18.08.2018
23:08:30
https://gist.github.com/Natanagar/9fcc89f3dac9da6efb2fb51375e0652b https://gist.github.com/Natanagar/67929a10eaf47edf4d9908b52eb2fdaa - ребенок

Aleksey
18.08.2018
23:12:52
Кто может объяснить, в чем фишка typescript? Кто может привести реальный кейс, когда эта штука помогла в чем нибудь? Хочу разобраться

Aleksey
18.08.2018
23:13:12
В контексте реакта

Artem
18.08.2018
23:18:34

Natalia
18.08.2018
23:19:34
ой сорри(( апдейтни

Artem
18.08.2018
23:22:43
https://gist.github.com/Natanagar/67929a10eaf47edf4d9908b52eb2fdaa#file-markerpanel-js-L53 здесь походу, при рендере ты вызваешь функцию getPlaces, которая сверху дергается стейт родителя, который опять обновляется и спускает заново функцию, которая опять при рендере вызывается и опять менят сверху стейт, что порождает цикл

Admin
ERROR: S client not available

Natalia
18.08.2018
23:23:15
да, как лечим? условие есть, но почему-то все равно подвисает

Artem
18.08.2018
23:23:54
https://gist.github.com/Natanagar/9fcc89f3dac9da6efb2fb51375e0652b#file-app-js-L365 поставь здесь брекпоинт или консол лог и посмотри сколько раз вызывается

Kelin
18.08.2018
23:26:16

Google

Artem
18.08.2018
23:28:09

Natalia
18.08.2018
23:29:30

Artem
18.08.2018
23:30:00
можно в ридакс логику вынести я думаю сходу получитсся все правильно делать, готовить логику в компонентах, это тренироваться много надо)

Natalia
18.08.2018
23:33:38

Artem
18.08.2018
23:39:57

Natalia
18.08.2018
23:43:24

Artem
18.08.2018
23:44:08

Natalia
18.08.2018
23:45:26

Alex
18.08.2018
23:46:17
Кто слышал про школу интерфейсов Яндекса? Что можете сказать о ней?

Artem
18.08.2018
23:47:12

Natalia
18.08.2018
23:52:39

Artem
18.08.2018
23:53:56

Natalia
18.08.2018
23:54:36
@livemirsi думаешь без шанса у меня?

Artem
18.08.2018
23:55:27

Natalia
18.08.2018
23:55:36
поднять мои данные

Artem
18.08.2018
23:56:05
поднять мои данные
я не вижу смысла в поднятие, ты все это в паренте можешь сделать, посмотри внимательней, ты считаешь в рендере их из пропсов

Natalia
18.08.2018
23:56:30
ну как учили, так и делаю))

Artem
18.08.2018
23:58:21
ну как учили, так и делаю))
вообще если новчиок, лучше ридакс юзай, там всё просто и линейно, выстрелить себе в голову достаточно сложно, строить логику на самих стейтах раекта, можно, но сложно, плюс надо хорошенько понимать как всё это работает

Natalia
18.08.2018
23:59:43
вообще если новчиок, лучше ридакс юзай, там всё просто и линейно, выстрелить себе в голову достаточно сложно, строить логику на самих стейтах раекта, можно, но сложно, плюс надо хорошенько понимать как всё это работает
стоп, мне надо взять и сдать этот проект, а потом лезть во Flux=Redux и я даже знаю почему (потому что уже 500 строк логики в аппе), но дедлайн горит и сейчас влазить на месяц-другой - это несерьезно

Google

Natalia
19.08.2018
00:02:10
чем больше поднимаешь логику выше, тем сложнее с ней общаться (передавая все это добро по пропсам-стейтам), но в данном контексте сделать вопрос)) отсортируй маркеры на карте по результатам сортинга мест и вот

Artem
19.08.2018
00:05:53
let foundedPlaces
if(this.state.value){
const match = new RegExp(escapeRegExp(this.state.value, 'i'))
foundedPlaces = this.props.listOfMarkers.filter((place)=>match.test(place.name))
} else {
foundedPlaces = this.props.listOfMarkers
} вот это всё в парент, а потом проверку просто делай в чайлде если велью такой то, пускай дальше такие данные, если нет то другие, ну это если грубо сделать

Natalia
19.08.2018
00:07:44