@react_js

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

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

Google
Andrey
19.06.2018
08:48:07
Дай их контакты
Тебя какая сфера интересует?)

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
Sergey
19.06.2018
08:53:19
я тоже

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

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

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

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
Не подскажите как правильно это сделать ?
не наследовать ничего кроме Component и PureComponent для начала

Алексей
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: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: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
так мб будет поудобнее - https://gist.github.com/SilencerWeb/4b969bbe587bb63c51d21bce8bb09784
думаю проблема в импорте либо наличии/отсутствии пакета/сломанной сборке

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
Можно еще немного помочь попросить? 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. ЧЯДНТ? Помимо говнокода, конечно...
Такое обычно кидают в гист. Ибо в чате не читабельно

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

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

Google
Сергей
19.06.2018
09:19:38
@popuguy, @sergeysova А в гист не обязательно рабочий код кидать, который как на кодпене заводится?
Хотя бы читабельно. Ну а вообще есть codesandbox для рабочих примеров

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

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

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

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

Maksim
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
там не особо редакс чатик
98 человек, а сообщений прям как тут

Roman
19.06.2018
09:23:44
https://gist.github.com/columnistdc/84d0ec6e19af18835e38af1944504b40 - помогите плиз с методом рендер
я бы все проверки вынес в отдельные функции, а в реднере оставил бы только компонент

ты оверхедишь

и что это за компонент query

Страница 4225 из 5115