Javascript-форум (https://javascript.ru/forum/)
-   Оффтопик (https://javascript.ru/forum/offtopic/)
-   -   React'а тред (https://javascript.ru/forum/offtopic/53890-react%27-tred.html)

Gozar 02.05.2015 18:54

Ты наверное ещё и не в состоянии представить наследование css классов по имени элемента :)

Gozar 02.05.2015 18:56

А ещё ты не способен понять почему мир идет к webcomponents?! Почему все поголовно не остановились на ангуляре и на его кастомных атрибутах?

Может быть потому, что это костыль? В твою светлую голову эта мысль не в состоянии попасть?!

UIjs 02.05.2015 18:58

так как бы ui и есть webcomponents только еще и куча всего более высокоуровнего.

Цитата:

Сообщение от Gozar
Ты наверное ещё и не в состоянии представить наследование css классов по имени элемента

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

Gozar 02.05.2015 18:59

Цитата:

Сообщение от UIjs
так как бы ui и есть webcomponents только еще и куча всего более высокоуровнего.

Ну конечно же это очевидно! ;)

UIjs 02.05.2015 19:01

Цитата:

Сообщение от Gozar
Ну конечно же это очевидно!

А, ну да) я не сказал? Не ну даже по видяшкам видно жи!!
Каждый компонент это как бы веб компонентс. Ни че не мешает мне потом как браузеры начнут поддерживать ВНУТРИ это реализовать именно на вебкомпонентах, и скорость будет лучше и все такое. я как бы смотря на полимер и реакт делал юишку если че так.

реакт - ассинхроннный рендеринг и скорость.
полимер - создание кастомных элементов и атрибутов.
метеор - изоморфность (я работаю над этим кстати)

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

Gozar 02.05.2015 19:02

Цитата:

Сообщение от UIjs
ого, у тебя такой высокий уровень и ты наверное уж такое то точно знаешь, а ты наоборот говоришь что наверное не в состоянии. где логика у тебя чувак?

Ого, у тебя такая большая голова, ты наверное уже точно чтобы наоборот говоришь в состоянии, где твоя логика чувак?

http://www.youtube.com/watch?v=I2WBmi1SuzA - тебя засняла скрытая камера.
;)

Safort 02.05.2015 19:03

Товарищи, пожалуйста, заканчивайте оскорблять друг друга и обсуждайте свои оффтопики в соответствующих темах. Тут обсуждается именно ReactJS.

UIjs 02.05.2015 19:05

Gozar, и тем не менее, этот умник выше, мне говорит что мол если в компоненте нет логики то это не щитается что компонент, надо чтобы обязательно какой нить контроллер там впиндюрен был)) иначе если в компоненте тока темплейт, то он и компонент этот называется ТЕМПЛЕЙТ))) где тока люди стока травы берут.

грит это у тя не компонент а темплейт, раз у тя там внутри один темплейт)))))))))))) ох лол

UIjs 02.05.2015 19:06

Цитата:

Сообщение от Safort
пожалуйста, заканчивайте оскорблять друг друга

плюсую

Цитата:

Сообщение от Safort
обсуждайте свои оффтопики в соответствующих темах

зачем, зачем сдерживаться если разговор в какое-то русло пошел?

Safort 02.05.2015 19:07

l-liava-l,
Цитата:

Вот тут все подробно описано елси не читал:
http://habrahabr.ru/post/246959/
Как-то забыл про этот пост, спасибо, теперь многое прояснилось)

UIjs,
Цитата:

зачем, зачем сдерживаться если разговор в какое-то русло пошел?
Затем, что это оффтоп и не нужно тему в свалку превращать. Для обсуждения общих вопросов есть "Обсуждений тред".

Gozar 02.05.2015 19:10

Цитата:

Сообщение от Safort
Тут обсуждается именно ReactJS.

И что у него нет кастомных атрибутов? :) Что не так?

ИМХО, мне скучно читать 17 страниц про основы React. Я целую доку перевел и хорошо их знаю. Что тут нужно делать?

Ну давай поговорим про роутер? Ты готов? Какой роутер ты используешь и какие у него недостатки?

UIjs 02.05.2015 19:13

Цитата:

Сообщение от Gozar
И что у него нет кастомных атрибутов?

Ха) даж не постеснялся такое вслух сказать). При чем я запилил компонент (в виде атрибута) какой нить ui-scroll и все. люди могут юзать его в своей верстке если подключат игнорируя реализацию ;) и у них будет красивый скроллбар где они пропишут этот атрибут. я даж маркет думаю запилить, как вебстор от хрома так же маркет компонентов на ui)


жалко что в реакте такого нет

Gozar 02.05.2015 19:15

Цитата:

Сообщение от UIjs
Ха) даж не постеснялся такое вслух сказать

А разве здесь не обсуждают проблемы программирования. Что тут ещё делать?

UIjs 02.05.2015 19:18

Gozar, я пошутил


UIjs 02.05.2015 19:19

кстати скоро будет демка на итерацию миллиона элементов списка без тормозов) за мгновение, просто нажимаешь F5 и у тебя все нарисовано, я уже пилил прототип) было весело, потом отключил, посмотрим теперь как это сочитается с новыми плюшками которые я понадобавлял с того времени. я пока сайт делаю чтобы бабки были, закончу его и денька 2 посижу допилю ассинхронный рендеринг и рендеринг только того что видно в кадре ;)

UIjs 02.05.2015 19:24

Если кто то не понял то я не оффтопил а сравнивал скорость реакта со своим фреймворком который по сути ангуляр. Про это сравнение уже все как года 2 слышат. Модератор просто не в теме и пытается умничать. Спасибо за предупреждение дорогой друг.

l-liava-l 02.05.2015 21:21

Цитата:

иначе если в компоненте тока темплейт, то он и компонент этот называется ТЕМПЛЕЙТ))
На столе лежит только арахис, а ты кричишь что это сникерс.. ладно фиг с тобой, дилетант. :D

UIjs 02.05.2015 21:28

Цитата:

Сообщение от l-liava-l
На столе лежит только арахис, а ты кричишь что это сникерс.. ладно фиг с тобой, дилетант.

компонент выполняющий только alert(111) не перестает быть компонентом. мазафака. название у него такое. просто в его составе только одна фнкция. такой простой вот компанент. я к тому что твое утверждение "Это не компонент это шаблон" чушь! это как "оно не холодное оно красное" надо было сказать "этот компонент неполнцоенный потому что тока из одного шаблона состоит и ни че толком не делает, я бы круче запилил" вот это бы имело хоть какой то смысл, и то я котику показывал как в компонент оборачивать надо чтобы каждый раз по 10 атрибутов не писать, так что этот упрек не имел бы смысла.

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

l-liava-l 02.05.2015 21:38

Цитата:

компонент выполняющий только alert(111) не перестает быть компонентом. мазафака. название у него такое. просто в его составе только одна фнкция. такой простой вот компанент
Я тебе про другой уровень абстракции говорю, на котором слово "компонент" как-то влияет на видение архитектуры приложения, усе корочи сойдемся на том что ты не можешь понять :)

UIjs 02.05.2015 22:08

l-liava-l, ты сильно охренеешь но компоннеты бывают разных уровней, есть низкоуровневые компоненты вроде ng-repeat или ng-if из них составляешь более высокоуровневые компоненты, кнопку там, инпат, список, из них составляешь чатики. А потом из самых высокоуровневых составляешь сайт. ВОТ ЭТО ПОВОРОТ. Иногда лень бывает оборачивать в компонент и пилишь прям развернутую разметку, иногда не лень и оборачиваешь и.т.п. ВОТ ЭТО ПОВОРОТ





п.с. у меня есть 2 слоя, базовый, это какие то компоненты, и проэктный, это СОСТАВЛЕНИИЕ из этих компоннетов сайта. А управляют проэктным уровнем контроллеры. ВОТ ЭТО ПОВОРОТ, но ведь В АНГУЛЯРЕ ТАК ЖЕ

Ты уверен что "я тебя не понял" а не например "ты новичек в ангуляре по сравнению со мной что даже понять не можешь о чем я говорю" ?

Safort 17.05.2015 13:46

Реактщики, как вы организовываете множество "состояний" одного компонента? Поясню. Допустим, у меня есть компонент Content, который может содержать инфу разного рода(картинки/статьи/списки статей/поля ввода) и нужно показывать что-то одно. Раньше я делал так: создавал отдельные компоненты типа Pictures, Articles, и т.д, и в зависимости от this.state компонента Content внутри него рендерил нужный дочерний компонент. Всё норм, но только вот количество дочерних компонентов стало сильно расти и всё это, как вы поняли, вываливается в глобальную область. Как бы вы поступили в данном случае? Продолжали растить количество компонентов или использовали что-то ещё?

Gozar 17.05.2015 14:15

Я делал с помощью вот этого https://github.com/rackt/react-router

В нем только одна проблема, не получилось вылезти в wait для других компонентов, если они параллельно прибиндены.

Safort 17.05.2015 17:51

Gozar,
спасибо.

a_l 19.05.2015 17:19

Играюсь с React Native последние две недели, очарован им. До этого пилил свой эпп на Swift в свободное от работы время - разработка шла медленно, вгоняла в уныние. Решил потрогать React Native - и уже на след день принял решение писать эпп на нём. Прогресс разработки очень радует. По сути родной и знакомый JS/React, только вместо DOM - react-компоненты iOS-интерфейса.
Есть крутая возможность написать NativeModule на ObjectiveC/Swift - и потом к нему обращаться из JS. И это дело подключается буквально в пару строчек.
Единственное, что не нравится - это стили свойствами JS-объектов, при этом дочерние элементы ничего не наследуют от стилей родителей. Как-то не изящно оно выглядит.
Но так уже сейчас это на удивление стабильный и мощный инструмент, активно развивающийся (слежу на гитхабе).
P.S. Думаю, что подраздел по React'у на форуме был бы кстати.

Safort 27.06.2015 11:21

Кто-нибудь использовал React вместе с async/await? Сейчас пытаюсь провернуть такое

class CompName extends React.Component {

  getSomeData(url) {
    return fetch(url)
          .then((res) => {
            return res.json().then(json => json)
          })
  }

  async render() {
    let content = await this.getSomeData(this.props.url)

    return (
      // вывод данных
    )
  }
}


Но при сборке, Babel ругается на async перед методом render(), хотя я указал доп. опцию { optional: ['asyncToGenerator'] } .

Может быть, у кого-нибудь есть предложения на этот счёт?

Erolast 27.06.2015 14:07

А что, реакт позволяет возврат промайза из #render()?

Safort 27.06.2015 15:21

Erolast,
на сколько я знаю - нет. А разве должен?

Gozar 27.06.2015 18:57

Цитата:

Сообщение от Safort
А разве должен?

А разве это не разрушение паттерна React? Какой тогда смысл использовать React?

Safort 27.06.2015 19:05

Gozar,
ты вообще про что?) Зачем методу render() возвращать обещание, если он должен возвращать react-элемент?

Erolast 27.06.2015 19:05

Цитата:

на сколько я знаю - нет. А разве должен?
Конечно. async/await - это сахар над использованием генераторов совместно с промайзами, результат асинхронной функции - промайз.

Safort 27.06.2015 19:19

Erolast,
что-то я об этом не подумал. Не подскажешь лаконичный способ, использования async'ов внутри реакта? А то всё, что приходит мне в голову - это топоркривые костыли.

Erolast 27.06.2015 19:47

Цитата:

Не подскажешь лаконичный способ, использования async'ов внутри реакта?
Неясно зачем.

React.Component#render возвращает объект, описывающий состояние узла в каждый момент времени: всякий раз, когда реакт заподозрит, что представление компонента могло измениться, дергается этот метод, и DOM приводится в соответствие его результату. Никакой асинхронщины там в принципе быть не может.

Safort 27.06.2015 20:48

Erolast,
Цитата:

Неясно зачем.
у меня есть компонент, который выводит svg. Сначала он посылает запрос, получает svg и выводит результат. Всё, больше ничего он не делает.

Erolast 27.06.2015 21:09

http://facebook.github.io/react/tips/initial-ajax.html (только isMounted в последнем реакте уже не надо использовать).

Safort 27.06.2015 21:37

Erolast,
так у меня сейчас, но это же не писк моды))

Gozar 27.06.2015 21:40

Safort,
Это он тебе намекает на то, что ajax посылается в componentDidMount, а старт отрисовки вызывается когда ты вызываешь this.setState. На эти грабли наступают все кто не читал документацию.

Цитата:

Сообщение от Safort
это же не писк моды))

Да, ты хочешь сломать основной паттерн реакта. Я не понимаю зачем.

Ну не используй React.

Erolast 27.06.2015 21:45

Аха.

async/await лучше в getSomeData применить:
async function getSomeData(url) {
    let response = await fetch(url);
    return response.json();
}

Safort 28.06.2015 00:25

Gozar,
Цитата:

Это он тебе намекает на то, что ajax посылается в componentDidMount
Вот не пойму почему именно componentDidMount, а не componentWillMount?

Цитата:

а старт отрисовки вызывается когда ты вызываешь this.setState.
Ну это понятно.

Цитата:

На эти грабли наступают все кто не читал документацию.
Я читал доки, но, наверное, не недостаточно внимательно.

Цитата:

Да, ты хочешь сломать основной паттерн реакта.
Я туплю, но совершенно не понимаю о каком основном паттерне ты говоришь.

Цитата:

Я не понимаю зачем.
Прост))) Я просто экспериментирую, не более.

Цитата:

Ну не используй React.
Ладно.

Erolast,
Цитата:

async/await лучше в getSomeData применить
Попробую днём, сейчас уже плохо соображаю)

cyber 28.06.2015 01:30

Цитата:

Сообщение от Safort
Я туплю, но совершенно не понимаю о каком основном паттерне ты говоришь.

Я в патернах только начинаю разбератся, поэтому могу быть не прав.
На сколько я понял он о MVC и если я правиьно понял смысел патерна, то этим (получением данных) должна заниматся модель.
Я прав?)

cyber 28.06.2015 01:37

Кст раз зашла речь о патернах, factory в ангуляре нужно использовать так ?
ang.factory( "mFactory", function () {
 return new MyClass();
});

Он вызовет только один раз функцию для mFactory, а потом будет использовать за кешированный объект, да?
т.е создас только один объект класса MyClass?


Часовой пояс GMT +3, время: 07:28.