
Roman
02.08.2018
06:16:02

Kendr
02.08.2018
06:19:49

Andrey
02.08.2018
06:20:18

m
02.08.2018
06:20:31
подскажите, пожалуйста с одной штукой. я, кажется, не понимаю функциональные компоненты. Вот у меня есть компонент класс, который рендерит функциональный, передаёт в пропсах кусочк своего стейта, а потом этот кусочк меняется (я вывожу стейт на страницу и там видна мне нужная актуальная информация), но в функциональном компоненте она не появляется. Мне его как-то насильно надо обновить?

Google

Andrey
02.08.2018
06:21:17


Max
02.08.2018
06:22:00
подскажите, пожалуйста с одной штукой. я, кажется, не понимаю функциональные компоненты. Вот у меня есть компонент класс, который рендерит функциональный, передаёт в пропсах кусочк своего стейта, а потом этот кусочк меняется (я вывожу стейт на страницу и там видна мне нужная актуальная информация), но в функциональном компоненте она не появляется. Мне его как-то насильно надо обновить?
если вы изменили свойство, которое передаете в дочерний компонент (пусть он будет хоть каким: хоть функциональный stateless, хоть statefull на классе) - он 100% перерисуется (вызовется render), только если вы никак этому не мешаете

Alex
02.08.2018
06:23:45

m
02.08.2018
06:24:34
Слишком много надо будет подправить , чтобы оно работало в codeSandBox, более того, мне кажется, там заработает как надо :)

Max
02.08.2018
06:25:27

m
02.08.2018
06:27:25
если я в объявлении функции делаю деструктуризацию пропсов, он же мне не будет доступен потом целиком? можно ли как-то сделать и деструктуризацию, и пропс оставить?

Max
02.08.2018
06:30:36

m
02.08.2018
06:31:03

Max
02.08.2018
06:31:30
хуже всего, когда починил и не понял как)

Andrey
02.08.2018
06:32:52

Google

m
02.08.2018
06:35:36

Andrey
02.08.2018
06:35:38
Но лучше так не делать. Зачем лишняя аллокация?

Cenator
02.08.2018
06:38:07

Andrey
02.08.2018
06:38:16
Я просто делаю деструктуризацию в функции, а не в аргументах.
Бесплатная экономия.

Anon
02.08.2018
06:39:22
А в чем экономия?

Andrey
02.08.2018
06:40:12

m
02.08.2018
06:44:25

Andrey
02.08.2018
06:49:44
Вообще я удивлён, что jit пересоздаёт всё время функции. Это спекой прописано?

Дмитрий
02.08.2018
06:59:04
Движок может оптимизировать что угодно пока это невозможно обнаружить из рантайма

Andrey
02.08.2018
07:00:06
А как иначе то
Печаль, что есть такое требование. Как по мне, потенциально чистые функции можно было бы не пересоздавать.

Дмитрий
02.08.2018
07:00:41
Поэтому например Function.prototype.bind давно работает максимально эффективно, но при вопросе из жс "а эти функции — одинаковые?" всё равно ответит нет

m
02.08.2018
07:07:06
подскажите, у меня тут реакт к input:type=number подвешивает ивент-лиснер invalid. И это поле теперь светится красным на значениях с точкой (кроме n.0, n.00, n.000) . При вводе 3.2 появляется очаровательное всплывающее окошко "Пожалуйста, введите допустимое значение - ближайшие это 3 или 4" . Как ему сказать, что я хочу floatPoint значения?

Cenator
02.08.2018
07:08:37

m
02.08.2018
07:08:47
const NumberInput = ({name,value, onChange}) => {
return (
<input
type="number"
name={name}
className="form-control"
value={parseFloat(value)}
onChange={onChange}
}
/>
)
}
есть подозрение, что проблема в том, что если смотреть его как html, то поле value - строка (value="2.0"). Но, как уже писал выше, 3.0 нормально принимает.
Источником ивента, исходя из инфы в девтулзах, является либа React-Dom

Cenator
02.08.2018
07:11:06

Google

m
02.08.2018
07:11:48

Cenator
02.08.2018
07:13:01
странно, у меня такого нет
да и невалидность браузер определяет а не реакт

m
02.08.2018
07:14:10

Alex
02.08.2018
07:14:59
А что в onChange написано, можно посмотреть?

Cenator
02.08.2018
07:15:06

m
02.08.2018
07:19:14

zerc
02.08.2018
07:37:48

m
02.08.2018
07:41:02
https://codesandbox.io/s/wqp33z0olw
ага. В кодсэнбоксе ошибка воспроизводится именно так как у меня, но только в фаерфоксе. В хроме ест точку нормально.
UPD: Проверил, мой проект тоже без ошибок.

Cenator
02.08.2018
07:41:19

Andrey
02.08.2018
07:44:36
Тем более у тебя неправильно обновление написано. Не мутируй данные.

m
02.08.2018
07:46:31

Andrey
02.08.2018
07:49:51

m
02.08.2018
07:50:39

Andrey
02.08.2018
07:50:44
Типа такого
updateFormState = event => {
const field = event.target.name;
this.setState(prevState => ({
form: {
...prevState.form,
[field]: event.target.value
}
}));
};

m
02.08.2018
07:53:37

Google

Admin
ERROR: S client not available

Alex
02.08.2018
08:17:04
Может кто нибудь подсказать по поводу тс?
пытаюсь просто присвоить значение стэйту
http://prntscr.com/kdpj2r
выдает такую хуйню
http://prntscr.com/kdpjho
полностью компонент http://prntscr.com/kdpjmu

Alex
02.08.2018
08:21:12
Есть ли у react navigation какие то хуки для перехвата события перед переходом на новый скрин ?
Или как по другому реализовать систему пермишенов, что бы при переходе на запрещенный роут у нас перед переходом происходила проверка, и в случае запрета, выдавало уведомление.

Егор
02.08.2018
08:25:44
Всем привет! Ребята, нуждаюсь в совете по компоненту material-ui (Устаревшей версии).
Мне нужно воспользоваться на реакте компонентом для разворачивания списков <List />: https://material-ui.com/demos/lists/#lists, он называется Collapse. Правильно ли я понял, что Collapse не поддерживается в старых версиях, и без обновления пакета до @material-ui/core здесь не обойтись?
Сможет ли кто-то посоветовать аналог компонента, чтобы его можно было импортнуть в проект, либо, способ апргейда, потому что в 18 версии material-ui нет Collapse, но есть List, например.

Roman
02.08.2018
08:26:50
https://github.com/facebook/react/releases/tag/v16.4.2

Sviatoslav
02.08.2018
08:59:39
Всем привет!
Нужна помощь - подскажите долбаюсь уже день, есть страница на ней табы контент для табов передаю в компонент при нажатии на таб в компонент передаются другие данные, данные беру с firebase, но при загрузке страницы должны инициализироваться данные сразу и записываться в state, но они почемуто не записываются, упускаю чтото уже сутки не могу понять в чем причина вот скрин - http://prntscr.com/kdq2aq , и второй - рендер - http://prntscr.com/kdq2n9 , при этом проверяю есть ли данные в стейте в конструкторе в функции didMount и в render - http://prntscr.com/kdq3hw , данные в state есть но почему они не передаются в компонент не могу понять

Timofey
02.08.2018
09:04:00
Кто юзал normalizer, вы прогоняли данные перед тем как запихнуть их store или в селекторе перед тем как прокинуть их в компонент?

Mark
02.08.2018
09:04:07
Ребят, так вообще законно делать?
Названия я заменил, но вытягивать инфу из document?
componentDidMount() {
this.props.doSomething(document.page_info);
this.props.doSomethingElse(document.productData);
this.props.doSemethingMoreElse(document.items);
this.props.doNotDo(document.items[0]);
}

Oleg
02.08.2018
09:04:08

Andrew
02.08.2018
09:05:03


Aleksey
02.08.2018
09:05:04
Всем привет, есть ли знатоки Victory? Мне нужно выделять зону и получать из нее точки. Есть в victory SelectionContainer, но он не совсем подходит мне по поведению, т.к. мне нужно, чтобы выделение оставалось после того, как пользователь отпустил кнопку мыши + мне нужно, чтобы это выделение потом можно было перетаскивать драгом. Для такого поведения больше подходит BrushContainer, но он отдает не точки а domain. Есть ли какой-то простой способ получить точки, входящие в этот domain?

Timofey
02.08.2018
09:05:12

Mark
02.08.2018
09:05:55

Timofey
02.08.2018
09:06:12

Sviatoslav
02.08.2018
09:06:27

Roman
02.08.2018
09:06:44

Sviatoslav
02.08.2018
09:06:57

Valeryi
02.08.2018
09:07:00
привет, подскажите, можно ли вывести версию определенного npm пакета на экран?

Sviatoslav
02.08.2018
09:07:02
потом нажимаешь на таб

Andrew
02.08.2018
09:07:02

Google

Sviatoslav
02.08.2018
09:07:06
и данные появляются

Andrew
02.08.2018
09:07:10
при загрузке страницы ?

Mark
02.08.2018
09:07:11

Andrew
02.08.2018
09:07:33
потом нажимаешь на таб
сам же отвечаешь на свой вопрос. обработка данных происходит только при выборе таба. а при загрузке никто этого не делает.

Roman
02.08.2018
09:07:34

Timofey
02.08.2018
09:07:35

Mark
02.08.2018
09:07:46
там что asp.net?
Нода и преакт, но преакт так ракально сделан, что для каждой страницы создается хтмл и к нему по сути создается новый App (для каждой страницы)

Sviatoslav
02.08.2018
09:07:47

Andrew
02.08.2018
09:08:38
http://prntscr.com/kdq94h
ну так этот onChange происходит когда ты меняешь табу. ты уверен, что onChange срабатывает при загрузке?