
Valeriy
03.04.2018
08:34:52
ты же должен понимать что значит очистка твоего стейта
никто за тебя это не придумает

Oleg
03.04.2018
08:35:10
Ну а мне вот хочется его пустым сделать
с setState этого не сделать

Google

Valeriy
03.04.2018
08:35:26
мы про локальный стейт компонента же сейчас?

Oleg
03.04.2018
08:35:30
Да

Valeriy
03.04.2018
08:35:37
вот
ты на стадии создания компонента всегда знаешь структуру стейта

Oleg
03.04.2018
08:35:58
Нет

Valeriy
03.04.2018
08:35:59
всегда задаешь начальные значения
ну если нет, то ты не прав
учись делать правильно

Oleg
03.04.2018
08:36:20
У меня есть динамические ключи в стейте
Типа row${ID}_active

Artyom
03.04.2018
08:36:46

Cenator
03.04.2018
08:37:02

Artyom
03.04.2018
08:37:10

Google

Valeriy
03.04.2018
08:37:17

Oleg
03.04.2018
08:37:29

Valeriy
03.04.2018
08:38:03
Undefined вообще в стейтах не должно быть никогда

Oleg
03.04.2018
08:38:14
Я не придумал иного способа, лол
Там и нет undefined

Artyom
03.04.2018
08:38:41

Oleg
03.04.2018
08:39:30
Блять даун в лс ещё пишет

Pauline
03.04.2018
08:40:03

Oleg
03.04.2018
08:40:10
Спамер

Pauline
03.04.2018
08:40:23

Maxim robox
03.04.2018
08:40:59

Valeriy
03.04.2018
08:41:28
в общем смысл в том, что структуру стейта на врехнем уровне ты всегда должен инициализировать либо в конструкторе. либо просто
class ... {
state = {
...
}

Oleg K
03.04.2018
08:41:45
слооожно

Valeriy
03.04.2018
08:42:00
и если нужно обнулять, то ты должен четко понимать какие параметры будут считаться обнуленными с какими значениями
там где ты ожидаешь массив, должно быть key: []
там где объект key: {}
строка str: ''
и т.д.

Google

Valeriy
03.04.2018
08:42:28
а не undefined/null

Eugene
03.04.2018
08:42:37

Valeriy
03.04.2018
08:43:37
конечно
ну смотри ты же потом в рендеринге заколебешься делать всякие map, reduce, и прочие
постоянно проверяя переменную на Array.isArray(array) && array.map(item => ...
а так ты всегда знаешь что у тебя невозможны значения undefined null
хотя проверять конечно всегда полезно
а то рано или поздно у тебя будут ошибки типа
и они будут ломать тебе рендеринг
тебе придется вечно все это catch-ить


Oleg
03.04.2018
08:47:16
Че? Просто перенеси эти значения на уровень ниже в стейте, таким образом ты сможешь делать что хочешь с этим полем
Возможно я плохо объяснил. У меня на одном проекте была следующая ситуация: есть неопределенное количество строчек таблицы (приходят с апи), у каждой строчки есть состояние (развёрнута-не развёрнута), при этом отдельная строчка не является компонентом, а лежит в одной плоскости с остальными просто как кусок html. Соответственно хранить состояние всех строчек мне пришлось в одном стейте. Я сделал так: <tr show={this.state[row.id${active}]}, но при этом изначально в стейте такого ключа вообще нету, то есть он равен undefined. Мне это абсолютно не мешало так как изначально строчки должны были быть скрытыми, а undefined преобразовался в false. А вот когда юзер уже кликал на кнопку, в стейт записывался ключ this.state[row.id${active}] со значением true.

Oleg K
03.04.2018
08:47:51
так ты себе сам усложнил жизнь как по мне

Oleg
03.04.2018
08:47:54
Я это к тому что количество ключей в стейте не всегда известно
Да, лучше было сделать строчку компонентом и держать в каждой свой стейт, но мне было лень переписывать

Artyom
03.04.2018
08:48:43

Oleg
03.04.2018
08:49:07
Но это не важно

Valeriy
03.04.2018
08:49:36
как раз это важно

Google

Artyom
03.04.2018
08:49:55

Oleg
03.04.2018
08:50:05
А, хотя да, чет я затупил

Viktor
03.04.2018
08:50:07

Oleg
03.04.2018
08:50:20

robertson
03.04.2018
08:50:35
и как?

Admin
ERROR: S client not available

Valeriy
03.04.2018
08:51:40
handleSubmit не три параметра всасывает?
хотя это же формик
там он во втором параметре пропсы умеет передавать
handleSubmit: (values, { props, ... }
в пропсах забинденый диспатчер

robertson
03.04.2018
08:53:39

Valeriy
03.04.2018
08:53:44
или уже забинденные экшины

robertson
03.04.2018
08:53:45
да, верно

Oleg K
03.04.2018
08:53:47
+

robertson
03.04.2018
08:54:07
а что за setSubmitting? не могу понять

Сергей
03.04.2018
08:55:58
warning.js Warning: Text content did not match. Server: "..." Client: "..." сталкивался кто-нить с таким?

Denis
03.04.2018
08:56:36

Сергей
03.04.2018
08:57:14

Google

Valeriy
03.04.2018
08:57:57

Сергей
03.04.2018
08:58:53
вообще понял что redux не оч дружит с ssr

Valeriy
03.04.2018
09:04:37
вообще надо понять, что сам по себе SSR это извращение и костыль
очень бы хотелось, чтобы эта хрень исчезла

Andrey
03.04.2018
09:05:50

Valeriy
03.04.2018
09:06:00
но по другому как то
а не в ущерб фронтенду
а то вроде как и не тонкий клиент получается

Cenator
03.04.2018
09:06:41

Valeriy
03.04.2018
09:06:53
т.е ни туда ни сюда

Artyom
03.04.2018
09:07:56

Cenator
03.04.2018
09:08:24

Valeriy
03.04.2018
09:08:44

Cenator
03.04.2018
09:09:14

Valeriy
03.04.2018
09:09:27
скорее всего нужно родить некий протокол общения краулеров с вебом