Ilgiz
Ссылки только у объектов или я чего то не знаю
D
щас покажу
D
ооо вроде вышо
D
D
вот так выхоидт
D
а щас покажу как делал
Ilgiz
Roterdead
ты когда переменную определил, ты не работаешь с ней на прямую, ты обращаясь к ней, ссылаешься на область памяти в которой определена эта переменная.
D
D
D
вот я об этом
Ilgiz
Roterdead
Тогда бы если я определил x = 2 и y = 2 то 2 была бы общая
неееет ))) Она для каждой переменной своя. Так работает компилятор. Он когда код парсит, он создает виртуальную область памяти где лежат все значения и переменные, и каждый раз когда ты программно обращаешься к переменной, ты это делаешь ссылкой на переменную а не обращаешься к переменно на прямую. тоесть const y = 2;
Roterdead
y = 5;
D
ребят
D
можете подсказать пожалуйста
Roterdead
сорян по привычке энтэр нажал
Roterdead
скиеь еще раз
D
щас
D
D
вот я скопировал стейт
D
D
D
потом вот мои действия
Roterdead
вот когда ты y переопределяешь, ты меняешь не саму переменную y а фактически ее копию которая ссылается на оригинал в вирутуальной памяти
D
та бля я это знаю
D
я же и говорю как мне получить не ссылку а само значение
Roterdead
D
D
D
вот я об этом говорю
D
почему значение и в стейте меняется
D
оно не должно меняться
D
вроде как
D
я же копию сделал
Roterdead
ну ты же пихаешь increment в новую копию состояния и возвращаешь её, она перезатирает старый state и он меняется
Roterdead
если я верно все понял
D
не понял
Roterdead
смотри
Wolverine
Roterdead
ты из state достаешь currentPage
Roterdead
добавляешь 1
D
Roterdead
да
Roterdead
ты в него кладешь increment
D
так как мне это сделать?
Roterdead
значение increment на момент записи равно 2, вот он и меняется
D
так как мне это сделать?
Roterdead
так тебе нужно сделать так что бы оно не менялось в state&
D
что бы стейт не менялся
D
так я это понимаю))
D
так как это сделать?
Roterdead
нет это вопрос был)))
Roterdead
просто
D
ааааа
D
понял
D
да
Ilya
подскажите, есть компонент отрисован три раза через map, в компоненте есть хук useState. Меняю в третьем компоненте состояние, а по факту оно изменяется в первом компоненте. То же самое происходит, когда меняю состояние во втором. Кто-нибудь сталкивался с этой проблемой?
D
мне нужно что бы state не менялся
Roterdead
не добавляй increment в новую копию
D
можешь написать
D
как оно увеличитьс если я его не добавлю
Roterdead
если тебе не нужно менять state тогда просто верне return { ...state } и не переназначай currentPage
Roterdead
и state не будет менятся, просто вернется старая версия состояния
D
так мне надо менять currentpage
Roterdead
D
да
Roterdead
Чувак тебе нужно менять currenPage но не нужно его менять в состоянии. Это нарушает логику redux
D
вот
D
и я том же
D
и как быть?
D
я вот просто решил сделать пагинацию
D
и нужен каунтер
Roterdead
что бы его изменить тебе нужно прогнать его через reducer и выкинуть наружу state с нужным значение, А какой смысл в reducer если ты возвращаешь из него старый state?? Все значение если они не будут записаны в новый state умрут полсе того как функция отработает
D
короче
Roterdead
тогда делай это в комоненте
D
мне нужно сделать counter где-то снаружи
D
да