
Алексей
20.07.2017
02:11:40
нубский вопрос - только знакомлюсь с react + pug
index.jade
extends layout
block content
h1= title
p Welcome to #{title}
div(id='root')
Как теперь прикрутить сюда react
index.jsx
const express = require('express');
const router = express.Router();
import React from 'react';
import ReactDOM from 'react-dom';
router.get('/', function(req, res, next) {
res.render('index', { title: 'fromPUG' });
});
Я как понимаю теперь нужно в индексе создать реакт объект и присвоить его элементу формы div=root
или я не верно понял

Andrey
20.07.2017
03:53:27
React не даёт тебе возможность выбирать шаблонизатор, ты ограничен jsx

Алексей
20.07.2017
03:56:44

Google

Алексей
20.07.2017
03:56:52
спасибо

Alexandr Korotaev
20.07.2017
05:11:35

Алёна
20.07.2017
05:14:09
А зачем ещё что-то кроме jsx нужно? =/ Кроме как для иллюзии выбора.

Andrey
20.07.2017
05:15:29
Да фиг знает. Мне кажется, что должен быть стандарт.

Konstantin
20.07.2017
05:15:43

Andrey
20.07.2017
05:16:01
В реакте стандарт - это jsx, в vue - это html

Alexandr Korotaev
20.07.2017
05:16:16

Andrey
20.07.2017
05:16:18

Konstantin
20.07.2017
05:16:25
Зачастую проще закастылить, чем переобучить пачку разрабов

Andrey
20.07.2017
05:16:29

Konstantin
20.07.2017
05:16:50
Если верстак знает pug, why not?

Alexandr Korotaev
20.07.2017
05:17:30

Алёна
20.07.2017
05:17:44

Google

Andrey
20.07.2017
05:18:03

Alexandr Korotaev
20.07.2017
05:19:00

Stepan
20.07.2017
05:20:27

Andrey
20.07.2017
05:21:01
+ работает без дополнительных телодвижений.

Konstantin
20.07.2017
05:21:22

Алёна
20.07.2017
05:21:26

Konstantin
20.07.2017
05:21:40
Ну и прочего сахара

Andrey
20.07.2017
05:21:42

Алёна
20.07.2017
05:22:11
все-раано что говорить что сасс лучше SC из-за миксинов и циклов.

Stepan
20.07.2017
05:22:11
И кстати
Человек говорит чистый js юзать
Если что

Алёна
20.07.2017
05:23:22

Andrey
20.07.2017
05:23:48

Alexandr Korotaev
20.07.2017
05:24:00

Andrey
20.07.2017
05:24:08
https://github.com/vuejs/vue/issues/6005

Google

Stepan
20.07.2017
05:24:08

Andrey
20.07.2017
05:24:27
Люблю китайцев. Насрать на то, что остальные не понимают.

Stepan
20.07.2017
05:24:39
Кстати, pug вообще омерзителен для меня

Алёна
20.07.2017
05:25:21
А не пофиг?
Ну, я их все-равно вверх вынесу и по порядку отмортирую, так что пофиг, да.

Stepan
20.07.2017
05:25:30

Andrey
20.07.2017
05:25:53

Stepan
20.07.2017
05:26:23

Алёна
20.07.2017
05:27:25
Не понимаю, как он кому-то нравится
тем, кто писал на чистом html. Тысячестрочные портчнки. И, если честно, я их понимаю - сама лучше на хамле или слиме буду писать чем на ерб.
но для реакта это излишне =/

Stepan
20.07.2017
05:29:07
Предпочел бы какой-нибудь html import и всё
Сам по себе синтаксис ок

Alexandr Korotaev
20.07.2017
05:29:48

Andrey
20.07.2017
05:30:04

Stepan
20.07.2017
05:30:28

Алёна
20.07.2017
05:30:47

Andrey
20.07.2017
05:31:00
Говна в мире много.

Stepan
20.07.2017
05:31:13
Jsx вообще бомба ящитаю

Andrew
20.07.2017
05:32:05
JSX рулит. попробуйте на Handlebars поделать то же самое, будете целовать JSX в дёсны :)

Google

Вася
20.07.2017
06:06:48

Konstantin
20.07.2017
06:08:01

Вася
20.07.2017
06:09:51
ого, есть люди которые помнят мои оху**ые истории?
брал творческий отпуск. будет история

code4aman
20.07.2017
06:10:01
помнят и ждут
но тут все коротко
https://github.com/facebook/jsx/issues/65#issuecomment-254052500

Admin
ERROR: S client not available

Stepan
20.07.2017
06:11:07

Вася
20.07.2017
06:11:26

Алёна
20.07.2017
06:31:54

kana
20.07.2017
06:35:29
Если в jsx введут *if или *for, то нахрен нужно ливать с jsx. Но такого к счастью никогда не будет.

Andrey
20.07.2017
06:38:52

Алёна
20.07.2017
06:39:35
Видимо кому-то очень не нравится использовать жс для циклов и условий и он предпочитает пользоватьмя шаблонизаторской наркоманией.
Ещё jsx-repeat бы ввести.

kana
20.07.2017
06:40:12
Я писал на ангуляре
И пользовался
И это нихуя не читабельно
Особенно про repeat

Andrey
20.07.2017
06:41:07
Ну да, соглашусь. Мне больше вариант с map импонирует.

Roman
20.07.2017
06:53:24

Google

Сергей
20.07.2017
06:58:22
t.me/rogovstory

Max
20.07.2017
06:59:59

Andrey
20.07.2017
07:00:19

Elena
20.07.2017
07:00:51

Alexander
20.07.2017
07:02:13

Max
20.07.2017
07:17:59
и звездочки убрать

Вася
20.07.2017
07:22:09


Andrew
20.07.2017
07:37:11
если движок шаблонов позволяет делать ajax-запросы, это еще не означает что он лучше других движков. на мой взгляд читаемость и синтаксис handlebars уделывают jsx на раз два. и как раз читаемость и легкость написания темплэйтов должны быть основным приемуществом template engine. имхо.
с handlebars вот такое вот городить приходится и меня это ни разу не радует...
Handlebars.registerHelper({
'add': function(v1, v2) {
return new Handlebars.SafeString(Number(v1)+Number(v2));
},
'form-field': function(fldType) {
return "field-"+(fldType || "input");
},
'ifEquals': function(fld1, fld2, options) {
if (fld1===fld2) { return options.fn(this); }
return options.inverse(this);
},
'count': count,
'orderList': orderList,
'orderChildNodes': function(obj, fld, objName, options) {
// if (fld === "rows") console.log([obj, fld, objName]);
return orderList(obj, fld, objName, options).map(function(key) {
if (!obj[fld][key].key) obj[fld][key].key = key;
return obj[fld][key];
});
},
});


Сергей
20.07.2017
07:38:38
Handlebars не нужен

Вася
20.07.2017
07:38:58
ну начнем с того, что насколько я помню, хэлперы - это расширение базового синтаксиса.

Anton
20.07.2017
07:39:30
Не понимаю чем людям html не нравится, и они придумывают эти "шаблонизаторы"

Andrew
20.07.2017
07:39:43
"form-tab": '\
<div class="form-tab tab-{{id}} {{active}}" data-id="{{id}}" id="tab-{{id}}"> \
<div class="tab-line"></div> \
<div class="tab-index">{{add @index 1}}</div> \
<div class="tab-title">{{title}}</div> \
</div> \
',

Сергей
20.07.2017
07:39:46
оффтоп в чате реакта

Andrew
20.07.2017
07:40:20