
Igor
23.10.2018
18:58:49

Ilshat
23.10.2018
19:01:04

Igor
23.10.2018
19:01:30
В didMount корневого контейнера

Ilshat
23.10.2018
19:01:49
сразу после создания стора, когда получаем инстанс стора и на пряму store.dispatch({type: INIT}) или в didMount

Google

Ilshat
23.10.2018
19:02:43
что говорит бест-практис?)

Igor
23.10.2018
19:03:02
если диспатчишь что-то, то в маунте, иначе смысла в этом действии нет(всмысле диспатчить)

Cenator
23.10.2018
19:03:15

Konstantin
23.10.2018
19:04:04
С сср, если не хочешь моргания, придётся гидрировать Auth данные до прогрузки первого компонента

Cenator
23.10.2018
19:04:12
можно еще переменную в стейте сделать типо initialized: true/false, и не рендерить чайлда пока false

Ilshat
23.10.2018
19:06:06
понятно, спасибо


Teorge
23.10.2018
19:38:32
не совсем уверен что ты пытаешься сделать, но использование getDerivedState обычно приводит к ошибкам и в 90% ситуацей не нужен и заменяется на componentDidUpdate
Я пытаюсь действия с формой до сабмита и отправки данных на сервер делать через нативные реакт события и нативный реакт стейт, при сабмите собирая введенные данные из нативного стейта в объект и посылая его на сервер, а получая после сабмита позитивный или негативный ответ от сервера, полученные данные забросить в глобальный стейт.
После этого через mapStateToProps получить в виде пропсов в локальном компоненте, а затем смерджить пропсы, связанные с ответом сервера(обьект с ошибками, или обьект с данными пользователя) с локальным нативным стейтом реакта, чтобы данные обновились уже в компонентах формы(input'ах).
если не использовать getDerivedState то как тогда иметь возможность записывать в поля формы и данные, вводимые пользователем в инпуты формы, и данные, пришедшие с сервера через глобальный стейт редакса так, чтобы они не конфликтовали?
в свойство инпута value мне что передавать? пропсы со значениями с глобального стейта редакса, а при вводе в инпут данных пользователем на onСhange назначать экшн и изменять глобальный стейт, полностью отказавшись от нативного стейта реакта?
ЧЯДНТ


Igor
23.10.2018
19:43:13
закинь куда-нибудь код в один файл, так я честно говоря не до конца понимаю что ты делаешь

Teorge
23.10.2018
19:48:47

Igor
23.10.2018
19:51:10
я думаю тебе нужно вынести состояние форм в какой-то компонент выше и там его хранить, прокидывая в формы ниже только значения в пропсах и список ошибок. Ошибки ответа в редуксе нет смысла хранить как мне кажется. Но это мои догадки, тк что у тебя там в коде не очень ясно

Aleks
23.10.2018
19:59:40
Люди подскажите почему кнопа не переключаеется ( https://codepen.io/Bersh/pen/dggNrX?editors=0110

what
23.10.2018
19:59:59
всем привет. подскажите по архитектуре, плохая ли идея хранить логику в редюсере?

Google

Alex
23.10.2018
20:10:48
Уж лучше в action

Zhora
23.10.2018
20:17:36
Rebyata privet,kto skajet mne russkie freelance sayti gde mojno nayti rabotu?

Егор
23.10.2018
20:18:21

Zhora
23.10.2018
20:18:47
gde drujishe?

what
23.10.2018
20:19:08

Teorge
23.10.2018
20:19:10
подключить редакс не вышло, примерно описал экшны и стор как мог

Егор
23.10.2018
20:19:47

Zhora
23.10.2018
20:20:14
@murgut da videl,sposibo ogromnoe

Igor
23.10.2018
20:25:52

Teorge
23.10.2018
20:26:03
одна
вообще две, но в одной я просто создаю пользователя, а в другой(этой) мне нужно ранее введенные данные пользователя с первой еще и подгружать с сервера
мне интересно как одновременно и менять состояние формы, получая исходные данные с сервера при загрузке формы и менять ее при изменении данных в инпутах

Roman
23.10.2018
20:30:43

Igor
23.10.2018
20:31:09
перенеси то что у тебя в wilRecieveProps в componentDidUpdate
с проверкой типа как в доке на набор текущих пропсов, чтобы не было цикличного вызова https://reactjs.org/docs/react-component.html#componentdidupdate

Andrew
23.10.2018
20:34:28
Вообще когда начинаешь юзать эти хуки на самом деле это признак херовой архитектуры

Teorge
23.10.2018
20:34:57

Igor
23.10.2018
20:35:48
они тоже придут в дид апдейт
вообще с ними ничего неделать не надо на самом деле, если они у тебя локально не меняются и только в пропсах

Google

Igor
23.10.2018
20:36:27
не копируй их вообще в стейт
те перепиши в рендере типа const {errors} = this.props;

Teorge
23.10.2018
20:38:31
ок, а можно нативный стейт реакта использовать для изменений полей профиля при onChange и onSubmit для создания обьекта данных, который буду отправлять на сервер
т.е. только для записи изменений с клавиатуры, не с сервера
или лучше вообще отказаться от нативного стейта реакта?

Anton
23.10.2018
20:40:10
С нубовскими вопросами можно сюда обратиться?)

Igor
23.10.2018
20:40:11
что такое нативный стейт реакта?

Teorge
23.10.2018
20:40:59

Igor
23.10.2018
20:42:52
Скажем так, на onChange меняй состояние компонента, на onSubmit меняй глобальное состояние

Igor
23.10.2018
20:43:37
не поимаю в чем вопрос, у тебя и так данные формы в локальном стейте лежат. Просто первоначальные значения ты из редакса получаешь. Можно все положить в редакс и изменения зендлить экшенами. Можно все делать локально и не использовать редакс. Можно в компоненте посылать запрос на сервер и локально обрабатывать ошибки и результат экшеном диспетчить.
Нет какого-то универсального ответа что одним способом работать с формами и состоянием правиьлно, а другими нет. Люди по-разному делают

Teorge
23.10.2018
20:46:06
вас понял, спасибо всем огромное

nakedcake
23.10.2018
21:52:54
https://www.wix.engineering/blog/finally-a-react-refactoring-tool-introducing-glean

Andrew
23.10.2018
21:56:50

Nikita
23.10.2018
22:19:38
Всем привет, а есть хорошие примеры авторизации с twitch

Vadim
24.10.2018
03:34:19
народ, может кто нибудь подсказать? Запускаю тестирование, create-react-app на одном и том же проекте. Запускаю поиск тестов по паттерну и вижу разные картины(нет pattern matches). В чем дело? http://take.ms/uYOPI

Alexander
24.10.2018
04:01:29
Что скажете о logux?

Artyom
24.10.2018
04:05:27
бери аполо

Alexander
24.10.2018
04:09:05

Google

Artyom
24.10.2018
04:09:44
Ну, вроде как, на gql жить много легче чем на logux
???
https://github.com/callstack/linaria

Cenator
24.10.2018
04:12:56
https://reactjs.org/blog/2018/10/23/react-v-16-6.html

Artyom
24.10.2018
04:13:24

Andrey
24.10.2018
04:14:14

Artyom
24.10.2018
04:14:41

Admin
ERROR: S client not available

Andrey
24.10.2018
04:14:56

Artyom
24.10.2018
04:15:21
И с ней все равно был ряд проблем, в обсуждении поднимали

Andrey
24.10.2018
04:16:42
Охуенно, кстати, что статик контекст сделали!
Блин, это то, чего мне не хватало!

Artyom
24.10.2018
04:17:34
Suspense - это компонент ?♂️?♂️?♂️?♂️?♂️
почему это все происходит, я не понимаю....(

Andrey
24.10.2018
04:17:41
Хотя... Не совсем его понял.

Artyom
24.10.2018
04:17:55

Andrey
24.10.2018
04:18:15

Artyom
24.10.2018
04:19:51
Потому что стора нормального не придумали.
const suspense = (fallback, component) => component.fullfiled ? component, : fallback
// ....
return suspense(<div>Loading...</div>, <OtherComponent />)
Логика должна оставаться в JS

andretshurotshka?❄️кде
24.10.2018
04:20:34
Только ты не сможешь сделать специальную ноду в реакте
Это же не компонент по сути

Google

Artyom
24.10.2018
04:21:12

Andrey
24.10.2018
04:21:37

Artyom
24.10.2018
04:21:40
Но семантика должна соблюдаться

andretshurotshka?❄️кде
24.10.2018
04:22:15

Artyom
24.10.2018
04:23:27
Ого, кто-то переводит
https://ru.react.js.org

Zhanadil
24.10.2018
04:23:34
скиньте ссылку на статью оптимальную по работе с кэшем

Artyom
24.10.2018
04:24:15
О_о
http://jsx.github.io/

Konstantin
24.10.2018
04:24:37

Artyom
24.10.2018
04:24:50
и так не плохо

Konstantin
24.10.2018
04:26:00
Когда я говорю людям, что дока - лучший способ понять реакт, они ищут переводы, а потом жалуются на то, что переводы везде говеные

Artyom
24.10.2018
04:26:42

Konstantin
24.10.2018
04:26:44
Потерял я веру в русские версии доков

Andrey
24.10.2018
04:26:56

Artyom
24.10.2018
04:27:15
Так что JS - императивное описание какой-то динамики. JSX - декларативная вьюха - просто биндинг к HTML

Konstantin
24.10.2018
04:27:53
&& и тернарки довольно декларативны, да и array.map тоже