@react_js

Страница 370 из 5115
Evgeny
06.08.2016
13:30:35
Бля, бред

Пиши ишью

И кидай линк, плюсану за эту хуйню

Vasiliy
06.08.2016
13:30:58
сек, это реально нужно, сейчас сделаю

Google
Vasiliy
06.08.2016
13:33:06
короче они говорят, что это против unix философии

типа делать одну вещь, но делать ее хорошо

https://github.com/tjunnone/npm-check-updates/issues/245 https://github.com/tjunnone/npm-check-updates/issues/217

Evgeny
06.08.2016
13:33:42
bitches

Пускай они хорошо обновляют пакеты

Дмитрий
06.08.2016
13:34:13
Написал конфигурируемый адаптер для gulp Принимает json вида projects: { client: { ts: {, depends: { ts: require('gulp-typescript'), concat: require('gulp-concat'), minifier: require('gulp-uglify/minifier') }, pipe: [ 'ts' , { loader: 'concat', opts: 'app.js' }, { loader: 'minifier', opts: { 0: { preserveComments: 'license' }, 1: uglifyjs } }] }, jade: { path: { dest: dirs.build, }, depends: { pug: 'gulp-pug' }, pipe: 'pug', // mean full pipe from .src to .dest though .pipe( require('gulp-pug') ) } }, server: {....}

После чего создаёт набор задач gulp 'client:jade' 'client:stylus' ... 'client:clean' 'client:watch' 'client' ([%all subtask%]) , 'server:...' в соответствии с настройками. Кучу рутинных и типовых параметров можно опускать, можно ссылаться на относительные папки вида tasknamedir, build, source и так далее))

Так вот) Чтобы выложить в open source надо надо ним посидеть ещё. Тратить время?) Я просто хз даже, вроде все webpack пользуются, но я к gulp привык, ну и довёл его конфиг для нового проекта до схожей краткости

Evgeny
06.08.2016
13:34:46
Нормас, выкладывай

Над чем посидеть?

Дмитрий
06.08.2016
13:37:28
Над чем посидеть?
Логику конфига до конца выработать, чтобы типовые задачи gulp нормально умещались.,Ну и не всё работает стабильно

Evgeny
06.08.2016
13:37:44
Поставь себе дедлайн — за час приведи в порядок и выкладывай

Назови это 0.0.1

Google
Evgeny
06.08.2016
13:37:54
Опиши Known Issues

Потом каждый день по полчаса

Через неделю спокойно 1.0.0 будет

Закинь в какие-нибудь чатики тематические

Дмитрий
06.08.2016
13:40:39
Через неделю спокойно 1.0.0 будет
Хм, звучит обнадёживающе) А очень фигово, если кучу библиотек тащу в depends? А то там этих gulp-* миллион, каждый с тысячей зависимостей, и плюс у меня Ramda вдовесок

Evgeny
06.08.2016
13:41:24
http://2014.jsconf.eu/speakers/sebastian-markbage-minimal-api-surface-area-learning-patterns-instead-of-frameworks.html

Дмитрий
06.08.2016
13:43:27
Спасибо)??

Evgeny
06.08.2016
13:44:08
Вот хороший тред на тему https://github.com/reactjs/redux/pull/430

Vladimir
06.08.2016
13:57:19
я думаю, Даня прав тут

создателям лодаша надо пропихивать его не в чужие либы, а в стдлибу

Видимо с ес7 поллодаша стало ненужно, вото они и расстраиваются

Evgeny
06.08.2016
13:59:17
Это было до релиза в4

В в4 лоудэш стал модульным

И в редаксе лоудэш появился

Но сам факт того, что в своей библиотеке зависимостей должно быть мало

Denis
06.08.2016
14:00:16
Парни, немного переделываю логику своего сайд проекта, есть общий роут /task/:taskId, и есть чайлд роуты /task/:taskId/show, /task/:taskId/edit и тд, вопрос как в родительском роуте узнать какой дочерний роут открыт? нужно для подсветки активного таба, который прописан в род, роуте (его компоненте), пробовал в род роуте прописывать /task/:taskId/:activeTab, но это конечно не работает (react-router)

Evgeny
06.08.2016
14:00:42
@Misaka ↑

Vladimir
06.08.2016
14:00:58
в пропсах же есть вся инфа о том, что открыто

Denis
06.08.2016
14:03:05
парсить url вручную?

Evgeny
06.08.2016
14:03:42
Так нет же

Google
Evgeny
06.08.2016
14:03:49
props.router.

Или как там

Плюс в реакт-роутере есть activeClassName

<Link to=“show” activeClassName=“muh-link-is-active”>show</Link>

Denis
06.08.2016
14:05:29
у меня кастомные табы, по индексу подсвечиваются

Evgeny
06.08.2016
14:05:44
Тогда из пропсов доставай

Evgeny
06.08.2016
14:17:24
Так в роутере всегда можно достать его стейт

Зачем костылить

Denis
06.08.2016
14:17:38
хотелось бы без новых сущностей так что именно доставать из пропсов? от реакт-роутера там есть текущий локейшн (url), весь список роутов и параметры роута, при чем. если выводить текущий роут в род. компоненте, он не показывает дочернюю часть, которая открыта по факту, а только то, что пренадлежит родителю (по факту у меня открыто /task/57a5e41c35cd4939e885c295/INFO, то есть компонент дочерний, но props.route.name === имя родителя)

Evgeny
06.08.2016
14:18:37
Покажи вывод props.router

Denis
06.08.2016
14:21:01
в общем я думаю создать hoc для контента, который будет инжектить компонент табов с уже открытым табом, то индекс прописан статически, надеюсь, анимация не сломается, да и вроде проще

в пропсах нет его

Evgeny
06.08.2016
14:21:21
Редакс есть?

Denis
06.08.2016
14:21:26
да

Владимир
06.08.2016
14:21:42
Зачем костылить
костылить затем что доставая значение в роутере мы должны его будем обработать используя заново реализацию обработки что происходит в роутере ну и я не считаю это решение костыльным

Evgeny
06.08.2016
14:21:53
Тогда https://github.com/reactjs/react-router-redux

Еще не раз пригодится

Владимир
06.08.2016
14:22:17
Еще не раз пригодится
ну а вот это костыль!

Google
Evgeny
06.08.2016
14:22:36
Нет, через него сильно проще работать с роутером

Владимир
06.08.2016
14:23:29
так давайте все в стор запихивать, и объект виндоу туда же, проще же работаь

Evgeny
06.08.2016
14:23:43
Ну мы так и делаем, хули

За исключением виндоу

Редакс-форм тоже используем

(честно говоря хз зачем там редакс, но работа с формами у них самая адекватная)

Denis
06.08.2016
14:25:26
в общем я думаю создать hoc для контента, который будет инжектить компонент табов с уже открытым табом, то индекс прописан статически, надеюсь, анимация не сломается, да и вроде проще
так же проще, не? только вопрос с анимацей, все компоненты уже будут иметь встроенный таб, с анимацией на изменение индекса, она не похерится?

сейчас попробую

Evgeny
06.08.2016
14:29:44
Мб форкнуть их

Admin
ERROR: S client not available

Evgeny
06.08.2016
14:29:54
redux-form-without-redux

Или есть чё нормальное по формам?

Vasiliy
06.08.2016
14:30:53
я не встречал)

Evgeny
06.08.2016
14:31:14
С другой стороны, зачем выпиливать

from
06.08.2016
14:31:28
Или есть чё нормальное по формам?
handleChange(evt) { this.setState({ [evt.target.name]: evt.target.value }); } норм штука )

Evgeny
06.08.2016
14:31:49
Валидация

Нормализация

Хуё-моё

Но вообще да, обернуть в hoc-и и готово

Google
Evgeny
06.08.2016
14:32:32
Хм

from
06.08.2016
14:32:36
evt.target.willValidate :) но это конечно уже не так универсально

Vasiliy
06.08.2016
14:34:45
handleChange(evt) { this.setState({ [evt.target.name]: evt.target.value }); } норм штука )
можно <form {...{ …, onChange, … }}> и onChange = (event: Event) => { const element = (event.target as any); const name = element.getAttribute('name'); const value = getElementValue(element); const rule = props.validationRules[name]; … и тут уже навернуть чего угодно дальше … бла бла this.setState({ … }); }

но это тоже нифига не универсально

Evgeny
06.08.2016
14:35:28
Чё, запилить? const Input = formHOC(<input>); const asEmail = (value) => () // fucking regexp <Input type=“text” name=“email” validate={asEmail} />

from
06.08.2016
14:35:58
вот кстати не знаю, нормальная ли практика своим кастомным инпут компонентам экстендить evt, чтобы value был форматированный например, компонент, который делает маскированный инпут, но на onChange выдавал бы "сырое" значение

Владимир
06.08.2016
14:36:42
Чё, запилить? const Input = formHOC(<input>); const asEmail = (value) => () // fucking regexp <Input type=“text” name=“email” validate={asEmail} />
этот подход оправданный, так же стоит делать с расширением компонент что бы они показывали ошибки, то есть 2 хока которые обернут инпут, один будет валидировать, другой добавлять отображение ошибок, хотя второй хок получится очень универсальным

Владимир
06.08.2016
14:37:55
А в чем проблема?
редакс головного мозга - это проблема

マイク
06.08.2016
14:38:07
Конструктивно

Владимир
06.08.2016
14:38:16
мы ведь не засовываем хистори апи в стору

обращаемся к нему напрямую

Evgeny
06.08.2016
14:38:30
Ты не путай данные и апи

Это разные вещи

Данные в редаксе хранить ОК

Владимир
06.08.2016
14:38:45
вам роутер это апи предлагает

пользуйтесь им

マイク
06.08.2016
14:39:13
Роут разве не является частью стейта приложения?

Обесните

Evgeny
06.08.2016
14:39:27
Роут разве не является частью стейта приложения?
Мы тем же подходом руководствовались

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