
Timur
05.03.2017
07:32:41

Demid
05.03.2017
07:45:41

Джон
05.03.2017
07:46:28

Ilya
05.03.2017
08:09:57
Кто знает пакет который может подрубиться к страничке и ждать смены хеша и вызравать событие аля: hashchange("#show-alert", () => { alert('f'); })

Google

Ilya
05.03.2017
08:10:17
надо чтобы он не лобал другие обработчики и как дополнение работал?

Джон
05.03.2017
08:41:38

anoru
05.03.2017
09:00:13
юзай yarn с авто shrinkwrap, уберай крышечки или shrinkwrap в npm

Artur
05.03.2017
09:02:32
Кстати, реактаны, а как сйечас yarn? Сложно ли переходить с npm?
И главное - есть ли смысл?

anoru
05.03.2017
09:03:29
смысла нет

Nurlan
05.03.2017
09:05:44
Доброго дня всем. Есть ли здесь имеющие опыт на продакшкне и с Реактом и с Вью? Какой из них хорош для написания больших проектов со знанием только базовую Js(не знакомымс Ангуляр)

Dmitrii
05.03.2017
09:35:26

Oleg
05.03.2017
09:49:39
^

Lupsick
05.03.2017
10:10:22
лул https://github.com/marko-js/marko


Марина
05.03.2017
10:28:46
Здравствуйте. Только начала учить React. И так получилось, что попала к ребятам на половину созданный и просраный по дате сдачи проект.
Нужно вывести данные из апишки в HTML-таблицу(таблица из одного столбца). Как это сделать?
Пробовала так:
class Admin extends Component {
constructor() {
super();
this.fetchDistricts = this.fetchDistricts.bind(this);
this.state = {
data: []
}
}
fetchDistricts() {
let url = "http://192.168.1.155/district";
$.ajax({
type: "GET",
url: url,
dataType: 'json',
success: data => this.setState({data})
})
}
renderDistrict(item) {
return <td>{item.name}</td>
}
render(){
const {data} = this.state;
const districts = data.map(item => this.renderDistrict(item));
return (
<form className="form-admin">
<div className="admin_options col-md-3">
<input type="text"/>
<input type="button" value="Поиск"/>
<hr/>
<div className="admin_area">
<p>Район</p>
<div>
<input type="checkbox"/>Кировский
</div>
<div>
<input type="checkbox"/>Советский
</div>
<div>
<input type="checkbox"/>Октябрьский
</div>
</div>
<div className="admin_tags">
<p>Теги</p>
<div><input type="checkbox"/>Раздевалка</div>
<div><input type="checkbox"/>Уборная</div>
<div><input type="checkbox"/>Душ</div>
<div><input type="checkbox"/>Буфет</div>
<div><input type="checkbox"/>Особый</div>
</div>
<button>Применить</button>
<button>Сбросить</button>
</div>
<div className="col-md-8">
<ul className="nav nav-tabs">
<li className="active"><a href="#tab1" data-toggle="tab">Футбольное поле</a></li>
<li><a href="#tab2" data-toggle="tab">Районы</a></li>
<li><a href="#tab3" data-toggle="tab">Теги</a></li>
<div className="admin_operation">
<Link name="add_field" to='articles/new' className="admin_add">Добавить</Link>
</div>
</ul>
<div className="tab-content">
<div className="tab-pane active" id="tab1">
<table>
<tr>
<th>Тип оплаты</th>
<th>Время работы</th>
<th>Адрес</th>
<th>Телефон</th>
<th>Тип поля</th>
</tr>
<tbody>
<tr>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
</tr>
</tbody>
</table>
</div>
<div className="tab-pane" id="tab2">
<table id="district" className="adress">
<thead>
<tr>
<th>Район</th>
</tr>
</thead>
<tbody>
<tr>
<td>{districts}</td>
</tr>
</tbody>
</table>
</div>
<div className="tab-pane" id="tab3">
<table>
<tr>
<th>Тег</th>
<th>Адрес поля</th>
</tr>
<tbody>
<tr>
<td></td>
<td></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
</form>
);
}
}
Но страницу теперь не отображает вообще. В чем может быть проблема?

Google

anoru
05.03.2017
10:29:05
ой

Миша
05.03.2017
10:30:16

anoru
05.03.2017
10:39:19
to Марина, у тебя fetchDistricts нигде не вызывается
Какую ошибку пишет?
Если эту бадягу const districts = data.map(item => this.renderDistrict(item)); удалить - страница отрендерится? (без нужных данных, конечно)

Ruslan
05.03.2017
10:44:39
в componentDidMount вызвать fetchDistrict

anoru
05.03.2017
10:45:37
Я так понимаю, что проблема не в отсутствие данных, а в
"Но страницу теперь не отображает вообще" - то есть просто ошибка
короче, без копирования в чатик ошибки не разобраться :)

DEFACE
05.03.2017
11:05:17
https://www.youtube.com/watch?v=vgDrh81drEc

Джон
05.03.2017
11:09:58
ребят, подскажите плз, componentWill(Did)Update родителя не срабатывают, если в дочернем компоненте нет никакого стейта, хотя дочерний компонент меняется. Мы написали фейковый стейт в дочернем и в нем при componentDidMount меняем его с false на true. И теперь все срабатывает. Как сделать это правильно?

from
05.03.2017
11:16:54
componentWillUpdate срабатывает в следующих случаях —
1. если изменился state (правильнее сказать вызван setState)
2. если родитель вызвал рендер данного компонента
3. если сам компонент или родитель вызвал forceUpdate
3. и если shouldComponentUpdate не вернул false в этих случаях
componentDidUpdate срабатывает всегда, если сработал willUpdate и ничего не упало
если что забыл, добавьте :)

Джон
05.03.2017
11:18:38

from
05.03.2017
11:19:31

Джон
05.03.2017
11:21:51

Andrew
05.03.2017
11:22:04
А что ты меняешь у родителя?
Если ничего, то логично, что оно не срабатывает

Джон
05.03.2017
11:37:37

Danil
05.03.2017
11:45:28
А если использовать реакт роутер в4, то в зависимостях нужно иметь только react-router-dom или еще react-router

Denis
05.03.2017
12:03:10
Дом декларативно, просто роутер - императивно

Google

Denis
05.03.2017
12:03:16
Если чисто дом
То второе не нужно
Если хотите на клик по кастомному компоненту изменить роут
То нужно явно добавить роутер в зависимости

anoru
05.03.2017
13:54:17

Ilya Shurikov
05.03.2017
14:05:55
Видать эвуалированный тутор по реакту
Или модер проглядел

? ethorz
05.03.2017
14:24:20
ребята, работает кто react + BEM?

Ave
05.03.2017
14:41:26

? ethorz
05.03.2017
14:43:26
это я понимаю, но из Вас кто-нибудь
просто хочу узнать, каким образом
ментора, увы, нет, который бы подсказал

? ethorz
05.03.2017
14:47:57
все самостоятельно

Sergey
05.03.2017
14:51:36

? ethorz
05.03.2017
14:52:05
а наименование? Блоки-элементы-модификаторы-миксы?
вручную?

Sergey
05.03.2017
14:52:09
Запрещаем передавать классы для кастомизации в пропсы, чтобы извне классами переписывать стили

? ethorz
05.03.2017
14:52:16
что можно сказать про reBEM?

Sergey
05.03.2017
14:52:27
ben-cn юзаем, нам норм :)

? ethorz
05.03.2017
14:52:31
https://github.com/rebem/rebem

Google

? ethorz
05.03.2017
14:52:37
ой
не то

Sergey
05.03.2017
14:52:44
Есть неудобства правда, но пока не существенные

? ethorz
05.03.2017
14:52:53
https://github.com/rebem/rebem-jsx
например?
т.е. для каждого элемента свои стили, к примеру, less модуль
?

Admin
ERROR: S client not available

Sergey
05.03.2017
14:54:34
там когда модификатор хочешь через тернарник поставить,
b('item)() + condition ? b('item)('modificator')() : ''
вот примерно такую тему в класс пишешь

? ethorz
05.03.2017
14:54:49
по сути обычный подход, действует как при вёрстке на шаблонизаторе?
аа
спасибо

Sergey
05.03.2017
14:55:04
b('item)('modificator')() — тут сразу еще и класс самого эолемента добавляется
получается в иотге
block__elem block__elem block__elem_mod

? ethorz
05.03.2017
14:55:28
вообще, удобный такой подход на реакте?

Sergey
05.03.2017
14:55:32
то есть два раза класс повторяется для самого элемнета :)
пока не решили еще, надо поисследовать решения
но от css modules мы решили уйти

? ethorz
05.03.2017
14:56:01
почему?

Google

Sergey
05.03.2017
14:56:17
БЭМ почти полностью позволяет уйти от проблемы множ неймспейсов на небольших и средних проектах, а супер крупных у нас нет пока

Dream
05.03.2017
14:56:45

? ethorz
05.03.2017
14:57:38
вообще смысл понятен, спасибо
правда и редьюсеры, и акшены, и компонентная разбивка такая, мешанина такая будет при большом проекте

Дмитрий
05.03.2017
15:04:15
Странный подход
Как бы, нет множественных неймспейсов - нет проблемы
Я вообще о них не думаю, их просто нет

Sergey
05.03.2017
15:05:27

Дмитрий
05.03.2017
15:07:52
БЭМ - это скорее уже религиозное, реально разумных причин тут нет.
Я понимаю легаси или "нам так нравится", если всё устраивает, то хорошо, но добровольно в это сейчас ввязываться - это мягко говоря опрометчиво

from
05.03.2017
15:11:34
+

anoru
05.03.2017
15:20:32

Dream
05.03.2017
15:23:20

Дмитрий
05.03.2017
15:31:04

Vladimir
05.03.2017
15:31:30

Дмитрий
05.03.2017
15:32:04
Ну я так понимаю он просто про олдовый подход с кучей классов в каждом компоненте

Dream
05.03.2017
15:32:52

anoru
05.03.2017
15:33:01
Типа такого извращения? https://acss.io/ утрирую, если что :D

Дмитрий
05.03.2017
15:33:20
Пока выходит
Есть два варианта когда это жизнеспособно -- у тебя не реальные классы, а просто миксины, без вывода всего этого непотребства в сам class=
Тогда это нормально
Либо у тебя небольшие проекты)