
Nikita
15.05.2018
16:46:28
Потому что у тебя в текущем компоненте стейт нужен только для изменения флагов кнопки. Если ты кнопку вынесешь в отдельный самостоятельный компонент, то в текущем компоненте можно будет убрать стейт совсем он не нужен туд

Варвара
15.05.2018
16:46:35
Друзья, подпишитесь на наш канал с видеоюмором: https://t.me/russiaumor

Nikita
15.05.2018
16:47:04
И для кнопки я б button использовал а не td

Андрей
15.05.2018
16:47:17

Google

Андрей
15.05.2018
16:48:18

Nikita
15.05.2018
16:48:29
ну это же кнопка

Андрей
15.05.2018
16:49:03

Nikita
15.05.2018
16:49:06
положи внутри td копку

Кирилл
15.05.2018
16:49:20
это вопрос религии
вернемся к алгоритму

Artyom
15.05.2018
16:49:32

pepsi ¯\_(ツ)_/¯
15.05.2018
16:49:42
Каждой кнопке нужен свой стейт, признай это

Кирилл
15.05.2018
16:49:46
ты можешь сделать массив флагов от длины this.items

Андрей
15.05.2018
16:49:56

Nikita
15.05.2018
16:50:02
Боже что вы советуете
а если у него в таблице там 500 кнопок будет
на каждую кнопку поле в стейт что ли заводить
Вынеси в компонент самостоятельный. В таблице просто Button вставишь и все. Ты сейча состояние кнопки хранишь в состоянии таблицы

Google

Nikita
15.05.2018
16:51:08
это не правильно
от этого проблемы у тебя

Кирилл
15.05.2018
16:52:05
Nikita
ты предлагаешь хранить флаг в компоненте
кнопки?

Nikita
15.05.2018
16:52:32
Да у него будет компонент Button у которого будет в стейте лежать flag и этот флаг будет меняться
Он может там хоть миллион этих кнопко создавать

Андрей
15.05.2018
16:54:02
от этого проблемы у тебя
Получается у меня и стейт и обработчик будут находится в компоненте кнопке, и перед запуском в качестве параметров мне ничего в нее не передавать?

Nikita
15.05.2018
16:54:53
Ну я просто не знаю для чего тебе эта кнопка. Если она у тебя больше ничего не делает кроме того чтоб класс менять, то да не нужно ничего передавать

Андрей
15.05.2018
16:55:37

Nikita
15.05.2018
16:56:31
Ну тогда тебе проп onClick нужно передать в эту кнопку и по клику вызывать this.props.onClick например
Сортировку ты уже в таблице обрабатывать будешь, а вот класс самой кнопки внутри кнопки

Андрей
15.05.2018
16:57:48

Nikita
15.05.2018
16:59:14
Да в таблице у тебя твой интерфейс кнопкий должен примерно выглядеть так: <MyTableButton onClick={sortTableColumns} />
ну я б так сделал
И еще key не нужно Math.random генерировать. Смысл весь теряется в key тогда. https://reactjs.org/docs/lists-and-keys.html#keys

Artem
15.05.2018
17:01:12
А за что у тебя классы отвечают?

Андрей
15.05.2018
17:02:54

Artem
15.05.2018
17:04:29
Те которые у кнопок
А вообще, есть такая штука как redux

Google

Андрей
15.05.2018
17:05:44
Те которые у кнопок
Визуально стрелка перемещается то вниз, то вверх, в зависимости от сортировки

Nikita
15.05.2018
17:07:36

Artem
15.05.2018
17:08:38
Грубо говоря, создаёшь функцию в родителе, вызываешь в наследнике
И в этой функции аргументом кидаешь
А вообще почитай, что люди кидают

Муслим
15.05.2018
17:50:01

Cenator
15.05.2018
18:09:56
Давай не здесь

Borys
15.05.2018
18:27:08
подскажите плиз.
открыл node_modules/redux/index.d.ts
а тут что-то вроде
export interface StoreCreator {
<S, A extends Action, Ext, StateExt>(reducer: Reducer<S, A>, enhancer?: StoreEnhancer<Ext, StateExt>): Store<S & StateExt, A> & Ext;
...
}
и т.д.
как это читать? это typescript?

andretshurotshka?❄️кде
15.05.2018
18:27:33
да

Michael
15.05.2018
18:27:44
Подскажите, что в сетСтейт прописать, чтобы после сабмита значение становилось как на втором скрине?

Michael
15.05.2018
18:27:53

Cenator
15.05.2018
18:28:47
someKey: randomstring()
<input key={someKey}

Michael
15.05.2018
18:34:49

Evgeny
15.05.2018
18:41:49
Key нельзя генерировать рандомный

Dmitrii
15.05.2018
18:42:21
пытался кто нибудь делать так, что все редьюсеры супер простые, и имеют только сеттеры на каждый из ключей стейта, и эти сеттеры уже дергаются для обновления стейта из саг/епиков/thunk

Андрей
15.05.2018
18:42:49

Kirill
15.05.2018
18:43:59

Google

Evgeny
15.05.2018
18:44:27
Потому что он должен быть предсказуемый, стабильный для одного и того же элемента) На то он и нужен. Но если ты знаешь, что реакту не понадобится делать какие-то манипуляции, которые могут полагаться на key, то можешь, конечно, рандомные их делать.
Почему?

Dmitrii
15.05.2018
18:45:05

Admin
ERROR: S client not available

Сергей
15.05.2018
18:49:54
теперь и я пришел к тому, что надо написать свой ридакс)

Dmitry
15.05.2018
18:51:01
может чат отдельный уже ?
так сказать redux—russian—edition

Ilya
15.05.2018
18:51:46
может ты себе сам отдельный чат создашь?
и говори на любые темы что интересно

Dz
15.05.2018
18:52:21

Cenator
15.05.2018
18:52:34

Dmitry
15.05.2018
18:53:01

Ilya
15.05.2018
18:53:39
да ладно, я сам redux не люблю

Evgeny
15.05.2018
18:54:00

Dmitry
15.05.2018
18:54:08
ну как бы выбор у тебя не оч большой

Ilya
15.05.2018
18:54:09
но рынок думает что реакт без redux невозможно)))

Dmitry
15.05.2018
18:54:13
тошо мобх еще то дерьмо

Cenator
15.05.2018
18:54:19

Ilya
15.05.2018
18:54:21
graphQL есть

Dmitry
15.05.2018
18:54:30
эм

Google

Ilya
15.05.2018
18:54:38
и this.state
я писал очень большой проект на this.state
все нормально было
есть ещё context API

Dmitry
15.05.2018
18:55:06
а я писал очень большой проект где компоненты в мапу пихались и делалось сет стейт

andretshurotshka?❄️кде
15.05.2018
18:55:06
@redux_ru

Dmitry
15.05.2018
18:55:08
и тож жилось норм

andretshurotshka?❄️кде
15.05.2018
18:55:10
там кто-то есть

Dmitry
15.05.2018
18:55:20
но не значит что это правильно

Ilya
15.05.2018
18:55:40
а что есть правильно? кто сказал что это правильно?
кто сказал что redux правильно?

Dmitry
15.05.2018
18:56:12
опыт разработки
единый источник правды это верное решение в вебе