
Aista
19.06.2018
08:47:14
про это и речь
в каком ключе? подход "выкинуть все и написать с нуля" оправдан крайне редко, обычно этим страдают зеленые кодеры, которые не могут по каким-то причинам или не хотят разбираться в существующем

Сергей
19.06.2018
08:47:17

Aleh
19.06.2018
08:47:39
1. Прогресс неостановим
2. Работать всё равно ничего не будет)

Max
19.06.2018
08:47:52

Google

Andrey
19.06.2018
08:48:07

Сергей
19.06.2018
08:48:08

Aista
19.06.2018
08:48:15

Сергей
19.06.2018
08:48:17

Aista
19.06.2018
08:48:17
так вот я не о ней

Andrey
19.06.2018
08:48:43
Мне хочется верить, что я смогу постепенно из говна сделать няшку, но пока на практике это не проверил.
Проверяю.


Maksim
19.06.2018
08:49:46
У кого-нибудь бывало такое, что prop-types выкидывает странные ошибки типа Warning: Failed prop type: TextField: prop type `tag is invalid; it must be a function, usually from the prop-types package, but received string., хотя у `TextField для пропса tag присвоино значение PropTypes.string, а не PropTypes.func.
Вот полная типизация TextField:
TextField.propTypes = {
id: PropTypes.string,
className: PropTypes.string,
tag: PropTypes.string,
placeholder: PropTypes.string,
value: PropTypes.string,
icon: {
svg: PropTypes.any.isRequired,
position: PropTypes.string,
rotation: PropTypes.number,
},
disabled: PropTypes.bool,
error: PropTypes.bool,
fullWidth: PropTypes.bool,
onChange: PropTypes.func,
onFocus: PropTypes.func,
onBlur: PropTypes.func,
};

Sergey
19.06.2018
08:52:44
я когда начинал вообще не видел особо, чтобы где то разделяли фронт/бек

Google

Andrey
19.06.2018
08:53:09

Sergey
19.06.2018
08:53:19
я тоже

Andrey
19.06.2018
08:53:20
Я говорю про, к примеру, java+js

Kendr
19.06.2018
08:54:12


Max
19.06.2018
08:54:22
У кого-нибудь бывало такое, что prop-types выкидывает странные ошибки типа Warning: Failed prop type: TextField: prop type `tag is invalid; it must be a function, usually from the prop-types package, but received string., хотя у `TextField для пропса tag присвоино значение PropTypes.string, а не PropTypes.func.
Вот полная типизация TextField:
TextField.propTypes = {
id: PropTypes.string,
className: PropTypes.string,
tag: PropTypes.string,
placeholder: PropTypes.string,
value: PropTypes.string,
icon: {
svg: PropTypes.any.isRequired,
position: PropTypes.string,
rotation: PropTypes.number,
},
disabled: PropTypes.bool,
error: PropTypes.bool,
fullWidth: PropTypes.bool,
onChange: PropTypes.func,
onFocus: PropTypes.func,
onBlur: PropTypes.func,
};
если я правильно понял перевод, то типа PropTypes.string вернуло не то… хотя в string сложно ошибиться, русский символ не вставить
У кого-нибудь бывало такое, что prop-types выкидывает странные ошибки типа Warning: Failed prop type: TextField: prop type `tag is invalid; it must be a function, usually from the prop-types package, but received string., хотя у `TextField для пропса tag присвоино значение PropTypes.string, а не PropTypes.func.
Вот полная типизация TextField:
TextField.propTypes = {
id: PropTypes.string,
className: PropTypes.string,
tag: PropTypes.string,
placeholder: PropTypes.string,
value: PropTypes.string,
icon: {
svg: PropTypes.any.isRequired,
position: PropTypes.string,
rotation: PropTypes.number,
},
disabled: PropTypes.bool,
error: PropTypes.bool,
fullWidth: PropTypes.bool,
onChange: PropTypes.func,
onFocus: PropTypes.func,
onBlur: PropTypes.func,
};
импорт PropTypes проверь на всякий случай, или еще какую подобную ошибку…
+ это какой-то компонент ? что за либа? там в issues глянь


Cenator
19.06.2018
08:56:07
У кого-нибудь бывало такое, что prop-types выкидывает странные ошибки типа Warning: Failed prop type: TextField: prop type `tag is invalid; it must be a function, usually from the prop-types package, but received string., хотя у `TextField для пропса tag присвоино значение PropTypes.string, а не PropTypes.func.
Вот полная типизация TextField:
TextField.propTypes = {
id: PropTypes.string,
className: PropTypes.string,
tag: PropTypes.string,
placeholder: PropTypes.string,
value: PropTypes.string,
icon: {
svg: PropTypes.any.isRequired,
position: PropTypes.string,
rotation: PropTypes.number,
},
disabled: PropTypes.bool,
error: PropTypes.bool,
fullWidth: PropTypes.bool,
onChange: PropTypes.func,
onFocus: PropTypes.func,
onBlur: PropTypes.func,
};
defaultProps делал?


Tauka
19.06.2018
08:56:34
Селектор будет умирать че рил?
Потому что ссылок на него не будет больше, селектор живет внутри функции mapStateToProps
умрет компонент => умрет коннект => умрет mapStateToProps => умрет селектор

Vo
19.06.2018
09:03:00
Всем привет, если изменить данные в "description" или "cost", а затем задать теги, то форма обновиться, как можно это пофиксить? При том что обязательно должны обновляться пропсы с родителя
https://codesandbox.io/s/n4okm8ww04

Arthur
19.06.2018
09:03:31

Andrey
19.06.2018
09:03:52
Ой, прицепились к архитектуре.

Arthur
19.06.2018
09:03:58
в сложных системах проектирование архитектуры - один из сложнейших квестов
особенно, если с нуля

Максим
19.06.2018
09:04:37
всем привет

Andrey
19.06.2018
09:04:42
Суть моего сообщения в том, что рефакторить к нужной архитектуре куда сложнее, чем строить её с нуля.

Arthur
19.06.2018
09:05:05
рефакторинг к нужной архитектуре != рефакторинг :) это уже чот другое
даже реинжинирингом не назовёшь

Максим
19.06.2018
09:05:57
есть вопрос пытаюсь поменять из класса состояние компонента вот так
class Progressbar extends Skil{
constructor(){
super(Skil)
}
Bar(argument, number){
console.log(argument);
let timebar = setInterval(()=>{
let reez = this.stateargument+10;
super.setState({argument:reez});
if (argument >=number ){
clearInterval(timebar)
}
},20)
}
это правельно ?

Google

Cenator
19.06.2018
09:06:38

Максим
19.06.2018
09:07:51
нет
Не подскажите как правильно это сделать ?

Алексей
19.06.2018
09:08:52
для начала прочитать хотя бы вот это
https://developer.mozilla.org/ru/docs/Web/JavaScript/Reference/Classes

Cenator
19.06.2018
09:08:55

Roman
19.06.2018
09:08:59

Алексей
19.06.2018
09:09:13

Максим
19.06.2018
09:09:44
вызываю класс
componentDidMount(){
let bars = new Progressbar()
bars.Bar(this.state.bar,100)
}

Алексей
19.06.2018
09:10:09
нормас.
Максим, прочитай доку по ссылке выше

Roman
19.06.2018
09:10:31
?

Maksim
19.06.2018
09:10:31

Roman
19.06.2018
09:10:45

Maksim
19.06.2018
09:10:45

Александр
19.06.2018
09:10:50

Алексей
19.06.2018
09:10:55

Cenator
19.06.2018
09:11:08

Алексей
19.06.2018
09:11:15

Maksim
19.06.2018
09:11:17
что там?
TextField.defaultProps = {
tag: 'input',
icon: {
position: 'right',
rotation: 0,
},
disabled: false,
error: false,
fullWidth: false,
};

Google

Сергей
19.06.2018
09:11:52

Максим
19.06.2018
09:12:00
я конечно понимаюю что это смешно но я еще совсем зеленый в реакт

Roman
19.06.2018
09:12:07

Алексей
19.06.2018
09:12:16

Сергей
19.06.2018
09:12:16

Maksim
19.06.2018
09:12:43
что там?
так мб будет поудобнее - https://gist.github.com/SilencerWeb/4b969bbe587bb63c51d21bce8bb09784

Andrey
19.06.2018
09:13:18

Сергей
19.06.2018
09:13:32

Andrey
19.06.2018
09:15:26
Неужели почта - это то, что стараются максимально спихнуть куда-нибудь?)

Admin
ERROR: S client not available

Cenator
19.06.2018
09:15:38

Maksim
19.06.2018
09:16:37

Сергей
19.06.2018
09:16:57

Maksim
19.06.2018
09:17:08
это получилось пофиксить, но осталась одна ошибка. я случай вместо TextField.defaultProps объявил TextField.propTypes


Alex
19.06.2018
09:17:23
Можно еще немного помочь попросить?
render() {
const { map } = this.props;
console.log("RENDER1");
return (
<Query query={QUERY}>
{q => {
if (q.loading) return <Icon type="loading" style={{ fontSize: 24 }} spin />;
if (q.error) return <p>Ошибка...</p>;
if (
!q.data.ui.visiblePanels.includes("attrTable") ||
q.data.ui.visiblePanels.includes("search") ||
q.data.ui.controlsSelected.includes("routes") ||
q.data.ui.controlsSelected.includes("panoramas") ||
!this.state.features ||
this.state.features === null
) {
console.warn("Must return null");
console.log("RENDER2");
return null;
} else {
const visiblePanels = q.data.ui.visiblePanels;
console.log("RENDER3");
console.error(!this.state.features, this.state.features === null);
// return null;
return (
<Mutation mutation={UiMutation}>
{(uiMutation, { data }) => (
<ErrorBoundary>
<Container>
<AttributiveTable
hasHeader
map={map}
header={this.state.tableHeader}
point={this.state.point}
pixel={this.state.pixel}
features={this.state.features}
onClose={() => {
uiMutation({
variables: {
ui: {
visiblePanels: this.closeTable(visiblePanels)
}
}
});
}}
/>
</Container>
</ErrorBoundary>
)}
</Mutation>
);
}
}}
</Query>
);
}
}
При соблюдении моей дурацкой кучи условий, в консоль пишется рендер1-рендер2-рендер3. ЧЯДНТ? Помимо говнокода, конечно...


Сергей
19.06.2018
09:18:06


Roman
19.06.2018
09:18:21


Alex
19.06.2018
09:19:10
@popuguy, @sergeysova А в гист не обязательно рабочий код кидать, который как на кодпене заводится?

Cenator
19.06.2018
09:19:12
нормально ли в рендере писать new Intl.DateTimeFormat().format(), или лучше создать инстанс и прокинуть его через контекст?

Maksim
19.06.2018
09:19:16

Google

Сергей
19.06.2018
09:19:38

Arthur
19.06.2018
09:20:23

Alex
19.06.2018
09:20:33
Не знал, спасибо!

Vasyl
19.06.2018
09:20:33
для Redux есть отдельный чат в Телеграме?

Arthur
19.06.2018
09:20:45
хотя я больше на пастбин кидаю всё

Roman
19.06.2018
09:20:49

Vasyl
19.06.2018
09:20:57
спасибо

Maksim
19.06.2018
09:21:01
я даж не знал о его существовании, лол

Roman
19.06.2018
09:21:01

Maksim
19.06.2018
09:21:10
так легко находятся эти русскоговорящие сообщества

Roman
19.06.2018
09:21:13
спасибо
это не совсем чатик о редакс

Alex
19.06.2018
09:21:32
https://gist.github.com/columnistdc/84d0ec6e19af18835e38af1944504b40 - помогите плиз с методом рендер

Arthur
19.06.2018
09:21:34
а зачем он ?
зачем в разные чаты выносить реакт / редакс ?

Maksim
19.06.2018
09:21:58

Vasyl
19.06.2018
09:22:03

Roman
19.06.2018
09:22:07

Arthur
19.06.2018
09:22:30

Maksim
19.06.2018
09:22:40

Aista
19.06.2018
09:23:30

Roman
19.06.2018
09:23:44
ты оверхедишь
и что это за компонент query