@react_js

Страница 993 из 5115
Danila
22.02.2017
11:56:30
Google
Сергей
22.02.2017
11:56:39
описать надо компоненты, как их импортить и откуда

Котяй Негодяй
22.02.2017
11:56:43
То возможности генерации кода из прототипа очень-очень ограничены.

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

И вот, система прототипирования усложнилась.

И сложность, по-моему, не очень явная.

Danila
22.02.2017
11:58:09
всё равно не сильно понял пример(

Сергей
22.02.2017
11:58:19
поэтому убрал в стол есть множество вопросов, которые так просто не решить а когда пишешь код, таких вопросов даже не возникает

Danila
22.02.2017
11:58:25
точнее, что значит «импортирую один компонент из другого»?

Котяй Негодяй
22.02.2017
11:58:45
всё равно не сильно понял пример(
У тебя на прототипе одна сущность будет внутри другой. Как ты опишешь, каким образом реализуется зависимость между ними?

Котяй Негодяй
22.02.2017
11:59:44
Google
Danila
22.02.2017
11:59:51
ииии?

как children связан с импортом?

Сергей
22.02.2017
12:00:02
*facepalm*

чаще всего компонент это композиция других компонентов

Котяй Негодяй
22.02.2017
12:00:19
=)))

Ruslan
22.02.2017
12:00:31
есть вот такая штука http://theprotein.io/

Алексей
22.02.2017
12:00:39
ты не отрендеришь просто так сторонный компонент

Danila
22.02.2017
12:00:43
иии? передать что-то в компонент - это и есть children, нет?

Ruslan
22.02.2017
12:00:49
правда это не совсем тоже самое и не уверен, что рабочее

Котяй Негодяй
22.02.2017
12:01:17
Не в этом суть.

Danila
22.02.2017
12:01:46
не, ну просто мне и правда хочется понять этот кейс до конца

Stanislav
22.02.2017
12:02:05
есть вот такая штука http://theprotein.io/
че т не вижу где там и чего можно потыкать

Danila
22.02.2017
12:02:08
если тебе не сложно - просто покажи пример рендера в случае с import’ом. я вообще не понимаю, причём тут импорт и рендеринг

Сергей
22.02.2017
12:02:37
не, ну просто мне и правда хочется понять этот кейс до конца
у тебя есть компоненты A и B в разных файлах

Котяй Негодяй
22.02.2017
12:02:41
Суть в том, что у нас уже 3 места, где мы что-то описываем: прототип, поведение, способы реализации зависимостей. Это будут вообще разные вещи.

А сейчас всё в одном месте.

Danila
22.02.2017
12:03:06
у тебя есть компоненты A и B в разных файлах
и? это управление зависимостями, но никак не рендеринг

Котяй Негодяй
22.02.2017
12:03:17
Это более понятно. Более просто. Более читабельно.

Сергей
22.02.2017
12:03:23
если тебе не сложно - просто покажи пример рендера в случае с import’ом. я вообще не понимаю, причём тут импорт и рендеринг
ты создаешь в редакторе компонент C render() { return <B><A foo="bar" /></B> } откуда ты возьмешь эти компоненты?

Google
Danila
22.02.2017
12:03:54
ну камон, в чём сложность определить в каком файле какой компонент?

Сергей
22.02.2017
12:03:58
вооот

а если из сторонней библиотеки? а если из кода в твоём приложении?

Котяй Негодяй
22.02.2017
12:04:08
Блин. =))

Если ты импортишь в этот компонент, это явная зависимость.

НЕ через children

Компонент С, например, явно зависит от A и B.

Сергей
22.02.2017
12:05:41
B рендерит в children A с пропсами но НЕЯВНО, потому что ему C прокинул внутрь

Ruslan
22.02.2017
12:05:41
Котяй Негодяй
22.02.2017
12:05:46
А то, что ты передал А в B — это иньекция зависимости.

Иньекция в контексте А и Б.

Dmitry
22.02.2017
12:06:14
В общем для прототипирования есть сервисы, которые позволяют добавить роутинг и простую логику. А прототипы на реакте не нужны, потому что в итоге этот код юзаться не будет

Stanislav
22.02.2017
12:06:21
Там вроде бы все еще в бете
оно вроде еще в 2015 было, нет?

Сергей
22.02.2017
12:06:40
А то, что ты передал А в B — это иньекция зависимости.
решить это не слишком сложно при описании JSON компонента вытаскивать зависимости в списочек и потом генерировать но нахаваться столько можно кейсов разных

Ruslan
22.02.2017
12:07:10
оно вроде еще в 2015 было, нет?
https://www.slideshare.net/moscowjs/react-moscowjs-27 ну да, после этого ничего не слышал

Котяй Негодяй
22.02.2017
12:07:24
Я веду к тому, что такая "абстракция" только увеличит сложность.

Danila
22.02.2017
12:07:54
а если из сторонней библиотеки? а если из кода в твоём приложении?
ну это всё та же задача определения в каком файле какой компонент. и я до сих пор не вижу особой сложности в ней. единственное исключение - когда много компонентов с одинаковыми названиями

Сергей
22.02.2017
12:08:31
ну это всё та же задача определения в каком файле какой компонент. и я до сих пор не вижу особой сложности в ней. единственное исключение - когда много компонентов с одинаковыми названиями
на одинаковые названия плевать если в разных библиотеках Ты не учитываешь, что многие библиотеки любят прямой импорт, некоторые именованный, а есть ещё дефолтный всё выглядит только просто

Google
Сергей
22.02.2017
12:09:11
я когда реализовывал кодогенерацию для своей штуки офигевал от сложности по резолвингу зависимостей



Ruslan
22.02.2017
12:11:11
оно вроде еще в 2015 было, нет?
Но мне кажется, что они сейчас это пилят в Яндексе, т.к. двое точно перешли в Я, работать над архитектурой библиотеки компонентов

Котяй Негодяй
22.02.2017
12:11:59
Вот, в чём разница. index.js import A from './a'; import B from './b'; export default () => <A><B /></A>; vs index.js import A from './a'; export default () => <A />; a.js import B from './b'; export default () => <B />;

Admin
ERROR: S client not available

Котяй Негодяй
22.02.2017
12:12:47
Первое — А не зависит от Б. Используется внедрение зависимости. Второе — А железно зависит от Б. Но визуально (в прототипе) это выглядит как одно и то же. А твоё описание способа реализации зависимости будет неявным, и там легко будет допустить ошибку. ЛИБО. Создавать много-много прототипов разных компонентов. И запутаться в прототипах.

Сергей
22.02.2017
12:14:52
ты это кому?

Котяй Негодяй
22.02.2017
12:15:23
Даниле. Долго писал. =)

Сергей
22.02.2017
12:17:46
жаль, что тг не подсказывает смайлы и стикеры по текстовым смайлам вроде :)

Котяй Негодяй
22.02.2017
12:18:19
Я не очень жалую такие фичи. =) Так что, мне норм. А то от них потом всё свистит-пердит.

Сергей
22.02.2017
12:18:45
я был бы рад, on/off такой фиче

Мне недавно понадобилась фигня одна найти нигде не могу: Нужны панели на реакте, панели вроде как в IDE, перемещать можно по экрану, в панелях что-то размещать, изменять размер



мб кто видел?

Котяй Негодяй
22.02.2017
12:22:12
Неа.

DIY?

Сергей
22.02.2017
12:22:39
я с трудом представляю как это реализовать на реакте ((

как хранить лэйаут

Google
Котяй Негодяй
22.02.2017
12:23:26
Ну, у тебя просто должна быть граница-кнопка, которю ты можешь таскать.

Сергей
22.02.2017
12:23:42
да это меньшая проблема ))))

Котяй Негодяй
22.02.2017
12:24:00
Ну а за ней ресайзятся все лейауты.

Сергей
22.02.2017
12:24:19
а как хранить это в стейте?

Алексей
22.02.2017
12:25:06
сделать веса по шкале x и y, и высчитывать размеры по весу. типа как flexbox

Котяй Негодяй
22.02.2017
12:25:22
Я бы сделал стейтфул компонент, общий. У него могут быть пропсы с конфигом, которые дублируются в своём стейте.

сделать веса по шкале x и y, и высчитывать размеры по весу. типа как flexbox
Проще фиксед рассчитывать на основании положения кнопки.

А потом создаём компонент ячейки и компонент "границы".

Алгоритм рассчёта положений и размеров всего и вся должен быть чисто математический.

Сергей
22.02.2017
12:27:04
я думал проценты выставить и всё

Котяй Негодяй
22.02.2017
12:27:37
Сергей
22.02.2017
12:27:54
просто не очень хочется переписывать https://github.com/atom/atom/blob/master/src/pane.coffee

Котяй Негодяй
22.02.2017
12:27:57
Хотя тебе их, всё равно, придётся из координат кнопки высчитывать.

Сергей
22.02.2017
12:29:05
Котяй Негодяй
22.02.2017
12:29:16

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