
gnoblin
31.07.2018
04:09:57
привет! у меня глупый вопрос. если можно делать глобальные переменные через export var blabla - то могу ли я обойтись без редукса или mobx? я из невебового c# пришел и у меня болит голова все время что я пытаюсь работать со сторами под реакт

⢎⡁⡮⢵⢸⣸⣸ ⡮⢵?
31.07.2018
04:15:28

Nikolay
31.07.2018
04:18:16

⢎⡁⡮⢵⢸⣸⣸ ⡮⢵?
31.07.2018
04:20:55
привет! у меня тоже глупый вопрос,
Ситуация: есть сервер на ноде, который берет запрос от клиента, вытаскивает от туда куки и потом эти куки использует при обращении к АПИ серверу, но вот проблема, я сначала шарил куки через глобальную переменную, но щас понял, что типа если 2 запроса в одно время, то куки перезапишутся последним, от сюда вопрос - как делиться куками между модулями?

Google

Tokda
31.07.2018
04:27:03

⢎⡁⡮⢵⢸⣸⣸ ⡮⢵?
31.07.2018
04:28:16
чет нету)

Tokda
31.07.2018
04:28:52
чет нету)
так напиши, в смысле у тебя должно быть какое-то одно место, чтобы с сервером общаться

gnoblin
31.07.2018
04:28:57
а контекст разве не техника из разряда запрещенных в реакте? что-то такое читал.
допустим я сам хочу обновлять представление - как конкретно у меня есть возможность его обновлять? просто какой стор ни возьми, адовая надстройка получается. может я еще не осознал крутость редукса итд. при этом я понимаю, что mutable state это антипаттерн - но хочется пописать бизнес логику конкретную у приложения, а не воевать со сторами

Tokda
31.07.2018
04:31:08
чет нету)
ну и тут же про реакт, обновляй стэйт в зависимости от того что сервер ответил, не оперируй "куками" вне сетевых операций, оперируй стэйтом, если в ответе должно быть что-то из кук, доставай из стэйта

Павел
31.07.2018
04:32:49
Павел:
Парни, подскажите как vscode заставить по ctrl+клик переходить к определению любого компонента, а не только лежащего рядом(в одной папке)?

⢎⡁⡮⢵⢸⣸⣸ ⡮⢵?
31.07.2018
04:33:40
чета сложно
стейт это вроде как локальная переменная функции, и я конечно могу это передавать от одной функции к другой аргументом, но я думал есть способ попроще

Tokda
31.07.2018
04:37:29

⢎⡁⡮⢵⢸⣸⣸ ⡮⢵?
31.07.2018
04:38:46
блин, кажется я понял

Google

⢎⡁⡮⢵⢸⣸⣸ ⡮⢵?
31.07.2018
04:38:52
спс

gnoblin
31.07.2018
04:39:43
а допустим, чтобы обновить представление самодельного стора - я просто главный setState() дергаю и пробрасываю пропы со значениями ниже - и все обновится на странице? или есть какие-то более крутые способы

⢎⡁⡮⢵⢸⣸⣸ ⡮⢵?
31.07.2018
04:45:51
ну вроде это и будет то, что назвается mobx, но я могу ошибаться

? ethorz
31.07.2018
04:54:53
Есть 2 метода, которые вызываются при ресайзе, нужно обновить 2 состояния, сделал 2 таймера
getContentsWidths = (width) => {
const p_ = this.props;
clearTimeout(this.onChangeContentTimeout);
if (!p_.tooltip.disabled) {
this.onChangeContentTimeout = setTimeout(function(width) {
this.setState({contentWidth: width});
}.bind(this, width), 600);
}
};
getOriginalWidths = (width) => {
const p_ = this.props;
clearTimeout(this.onChangeOriginalTimeout);
if (!p_.tooltip.disabled) {
this.onChangeOriginalTimeout = setTimeout(function(width) {
this.setState({originalWidth: width});
}.bind(this, width), 600);
}
};
но в результате рендер все равно много раз происходит, как можно сделать, чтобы обновилось один раз разом?
это 2 разных коллбэка, делал 1 метод с 1 таймером - работает некорректно, поскольку нужный таймер мог затереться другим

Tokda
31.07.2018
05:16:21

Alexander
31.07.2018
05:53:41
Создаю Provider
class ThemeProvider extends React.Component<PropsInterface, {}>
{
getChildContext()
{
return this.props.theme;
}
render()
{
return this.props.children;
}
}
Потом использую его
<ThemeProvider theme={theme}>
<App />
</ThemeProvider>
Но в App ничего не видно

Roman
31.07.2018
06:18:03
посмотри как создаются провайдеры

Alexander
31.07.2018
06:28:39

Max
31.07.2018
06:28:56
Хай, не совсем по теме:
как в хаски обламывать коммит, если есть предупреждения от eslint ? (еслинт запускается, но что-то еще нужно дописать, чтобы коммит останавливался, если есть ошибка/варнинг)

Max
31.07.2018
06:32:29
Хаски сам вроде это делает если return code не 0

Max
31.07.2018
06:35:50
то есть, как образно из
"precommit": "lint-staged && node_modules/.bin/eslint src/",
вернуть не 0 (если я правильно вопрос задаю)

Sergey
31.07.2018
06:40:40
Еслинт сам возвращает не 0, если есть ошибки

Max
31.07.2018
06:41:01

Sergey
31.07.2018
06:41:46
Проставь нужным правилам северити еррор, если считаешь их настолько критичными
И у тебя как-то странно, сначала lint-staged запускается, а потом eslint на всё. Тебе точно lint-staged нужен?

Max
31.07.2018
06:43:08
не, lint-staged и eslint у меня, еслинт - на все, линт стейджет для преттира

Sergey
31.07.2018
06:44:49
Можно сам eslint тоже затолкать в lint-staged, чуть быстрее хук проезжать будет

Google

Max
31.07.2018
06:46:28

Sergey
31.07.2018
06:47:20
Интересно, не знал

Max
31.07.2018
06:48:46
итого вышло так (спасибо за помощь)
"lint-staged": {
"src/**/*.{js,jsx,json}": [
"node_modules/.bin/eslint src/ --max-warnings=0",
"prettier --write",
"git add"
]
}

Sergey
31.07.2018
06:51:17
Если ты уберешь /src из команды линта, то линтер будет гоняться только по стейджнутым файлам, в этом-то и суть lint-staged

Max
31.07.2018
06:53:46
да, спасибо за наводку, недоправил)

Cenator
31.07.2018
07:07:38

Artyom
31.07.2018
07:09:45

Dema
31.07.2018
07:20:37
привет, подскажите либы, статьи по такому вот прелоадеру

Vadim
31.07.2018
07:22:34

Vadim
31.07.2018
07:23:07

Vadim
31.07.2018
07:23:59

Artyom
31.07.2018
07:24:02

Vadim
31.07.2018
07:24:14

Dema
31.07.2018
07:24:21

Vadim
31.07.2018
07:24:41

Vadim
31.07.2018
07:24:54
понял

Cenator
31.07.2018
07:29:30

Anton
31.07.2018
07:32:29

Google

Anton
31.07.2018
07:32:30
Всем доброе утро. Ребят, прошу помочь, туплю что то=) Дергается запрос раз в 20 мин, по их истечению вызывается алерт- это все хорошо. Добавил к этому делу таймер, он должен обновляться после прихода запроса, никак не пойму что передать в колбэк функцию таймера onComplete. Подскажите пожалуйста

Timofey
31.07.2018
07:48:23
Как можно в реакте выставить преоритет на скачивание ресурсов? Например что бы в первую очередь была получена иконка loader а потом уже все остальное.

Alexey
31.07.2018
08:03:36
Ребят, как у вас в командах с форматированием кода?
Мой коллега не хочет ставить претифай, все руками правит, я пользуюсь претифаем и перебиваю его пробелы, как найти компромисс?

Cenator
31.07.2018
08:04:19

Admin
ERROR: S client not available

Oleg
31.07.2018
08:05:07
поставить eslint + prettier, добавить хук на пре-коммит

Khorark
31.07.2018
08:11:00

Nikita
31.07.2018
08:14:08

Listar
31.07.2018
08:17:03
Для чего withRouter используют кто поможет понять ??

Oleg
31.07.2018
08:17:32

Listar
31.07.2018
08:17:51
Например ?)

Oleg
31.07.2018
08:18:13
Например ?)
https://github.com/ReactTraining/react-router/blob/master/packages/react-router/docs/api/withRouter.md

from
31.07.2018
08:18:17

Listar
31.07.2018
08:18:37
Хмм... ладн спасиб

Anton
31.07.2018
08:18:53

Oleg
31.07.2018
08:21:33
у тебя неправильно setTimeout написан, update сразу вызовется

Khorark
31.07.2018
08:23:33
Так я вроде показал, ещё?
Если у тебя там общий код по установке таймера его лучше вынести в отдельный метод. В onComplete что происходит когда функцию передаешь?

Valeriy
31.07.2018
08:27:29
Всем привет
Есть достойный мануал на русском по реакту?

Max
31.07.2018
08:27:54
есть конечно

Google

Max
31.07.2018
08:28:10

Valeriy
31.07.2018
08:28:15
Глупый вопрос) согласен) сможешь скинуть?))
Спасибо))

Roman
31.07.2018
08:29:02

Max
31.07.2018
08:29:04
Спасибо))
там есть возможность pdf/epub/mobi сделать для оффлайна.

Roman
31.07.2018
08:29:07
самого себя

Zulfiia
31.07.2018
08:29:14
Доброго времени суток! Кто то интегрировал готовые чаты типа talkjs||rocket.chat и тд ? Может что то посоветуете или дадите ссылок по интеграции?

Max
31.07.2018
08:29:21
ууу пиар
разумеется, лучше руководства на ру я не встречал, следовательно что я должен советовать?)

Roman
31.07.2018
08:29:37

Max
31.07.2018
08:29:47
(хотя хвалят, но это уже другая история)

Artyom
31.07.2018
08:33:17
Это было лишь вопросом времени
https://github.com/jxnblk/mdx-deck

Max
31.07.2018
08:33:55

Roman
31.07.2018
08:34:07
задался вопросом
return
Title
{isLoading && Loader}
или
render()
if(isLoading) { return Loader}
или
return
Title
{isLoading()} которая вернет Loader

Max
31.07.2018
08:34:53