@react_js

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

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
Зачем тебе их несколько? В других стейт менеджерах можно несколько, в редаксе не принято
ну хрен с ним пусть один стор глобальный будет, как узнать состояние переменной

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

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

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

Тимофей
18.08.2018
21:42:33
коннект выполняется однократно? я единственное что понял из смысла коннекта это прокидывание в пропсы компонента свои переменные
Перечитай доку. Коннект инжектит стор и диспатч в компонент, для удобства у него есть два параметра, функция мапа стейта в пропсы компонента, и функция оборачивание экшен криэйторов в диспатч, когда стейт меняется обернутый компонент перерендеривается.

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

Google
Тимофей
18.08.2018
21:44:52
через connect ижектится весь стор? или выборочно можно?
Я же написал(, mapStateToProps, первый аргумент в коннекте

Георгий
18.08.2018
21:45:34
через connect ижектится весь стор? или выборочно можно?
Выборочно же, mapStateToProps указываешь, что тебе из стора надо

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 }) } }

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



Георгий
18.08.2018
22:48:57
вызываю в рендере ребенка до return
Из render нельзя вызывать. Почему в render?

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
В контексте реакта

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 поставь здесь брекпоинт или консол лог и посмотри сколько раз вызывается

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
если ты о сортинге, но сейчас наверное я не готова это все поменять( нужны веские причины и достаточные знания
ну если в лоб getFoundPlaces перенис в чилдрен, он вроде у тебя в паренте ни к чему не привязан

Natalia
18.08.2018
23:43:24
ну если в лоб getFoundPlaces перенис в чилдрен, он вроде у тебя в паренте ни к чему не привязан
просто это метод поднимает массив с выбранными местами в верхний компонент и там должна быть обработка данных, там же все стейты (все маркеры, места все и вот будут сортированные места)

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
@livemirsi думаешь без шанса у меня?
не понял, шанс на что?)

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 } вот это всё в парент, а потом проверку просто делай в чайлде если велью такой то, пускай дальше такие данные, если нет то другие, ну это если грубо сделать

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