@react_js

Страница 1107 из 5115
Anton
22.03.2017
01:21:54


Oleg
22.03.2017
04:30:20
Всем привет!

Artem
22.03.2017
06:08:38
Люди, подскажите пожалуйста как мне react-script-loader в роли миксина использовать в ES6 синтаксисе? var React = require('react'); var ReactScriptLoaderMixin = require('react-script-loader').ReactScriptLoaderMixin; var PaymentForm = React.createClass({ mixins: [ ReactScriptLoaderMixin ], ... render: function() { if (this.state.stripeLoading) { return <div>Loading</div>; } else if (this.state.stripeLoadingError) { return <div>Error</div>; } else { return <div>Loaded!</div>; } } }); module.exports = PaymentForm;

Anton
22.03.2017
06:09:35
ReactScriptLoaderMixin(PaymentForm) ?

Google
Artem
22.03.2017
06:09:53
компонентом высшего порядка?

это сработает?

ReactScriptLoaderMixin(PaymentForm) ?
это не работает, потому что ReactScriptLoaderMixin не является компонентом высшего порядка

var ReactScriptLoaderMixin = { componentDidMount: function() { if (typeof this.getScriptURL !== 'function') { throw new Error("ScriptLoaderMixin: Component class must implement getScriptURL().") } ReactScriptLoader.componentDidMount(this.__getScriptLoaderID(), this, this.getScriptURL()); }, componentWillUnmount: function() { ReactScriptLoader.componentWillUnmount(this.__getScriptLoaderID(), this.getScriptURL()); }, __getScriptLoaderID: function() { return 'id' + idCount++; }, };

Anton
22.03.2017
06:27:28
имплементировать mount/unmount в исходном компоненте и ReactScriptLoaderMixin.fn.call(this)

Object.assign(PaymentForm.prototype, ReactScriptLoaderMixin) тоже сработает. Но только один раз.

Artem
22.03.2017
06:29:14
имплементировать mount/unmount в исходном компоненте можно чуть подробнее пожалуйста...

Anton
22.03.2017
06:31:39
Когда выпиливали миксины они подробно описали как без них жить, и почему это хорошо.

Как без них жить - в нужных местах дергать напрямую.

Artem
22.03.2017
06:32:18
componentDidMount и componentWillUnmount в исоходном компоненте, я должен просто вызвать миксин с передачей контекста?

Anton
22.03.2017
06:32:23
Если в миксине миксуются mount/unmount - значит эти функции надо описать у себя, и из них дернуть функции миксина.

Artem
22.03.2017
06:32:53
попробую

спасибо

Google
Anton
22.03.2017
06:33:06
Можно попробовать найти готовую поделку которая подружит класс с миксинами в es6 реализации. Там реально просто прототип пнуть и готово

Ага, так и прийдется, так как еще __getScriptLoaderID надо запинуть не забыть. Они его не правильно сделали

Artem
22.03.2017
06:35:41
понял ))

пипец там ещё и idCount глобальная переменная

мне её получается в state исходного компонента держать?

your-mirror
22.03.2017
06:42:13
Как вы реализуете сложные компоненты типа таблицы, где вам нужно конфигурировать хедер, футер, фильтр, пагинацию и само тело?

Max
22.03.2017
06:42:56
Пропс?

your-mirror
22.03.2017
06:43:52
а если у вас это все отдельные классы, которые тоже можно подменять?

Mikhail
22.03.2017
06:43:54
src/components/pagination/Pagination.jsx · master · Mikhail Tsyplakov / heaven-hr-assignment · GitLab https://gitlab.com/jaybekster/heaven-hr-assignment/blob/master/src/components/pagination/Pagination.jsx

Я так делал. Вроде годно

your-mirror
22.03.2017
06:44:57
есть компонент таблица состоящий их дефолтных Header, Footer, Body компонентов. Ты может помеять Header на SmartHeader, тоже самое с остальными

your-mirror
22.03.2017
06:46:50
ну т.е. типа <Table header={{class: SmartHeader}} ... /> ?

Max
22.03.2017
06:47:32
https://facebook.github.io/react/docs/composition-vs-inheritance.html

Google
Max
22.03.2017
06:47:50
Курим ман)

your-mirror
22.03.2017
06:58:38
а если компоненты динамические, т.е. зависят от пришедших данных, скажем если пришел номер телефона юзаем такой компонент, если пришел текст юзаем другой?

Oleg
22.03.2017
07:05:11
точнее рендим другой компонент

в зависимости от состояния

your-mirror
22.03.2017
07:06:06
хватает

Max
22.03.2017
07:06:34
Хватает не ответ. Сам компонент таблицы за что отвечать должен?

В таком случае

Если рендеринг отдельно всего

Oleg
22.03.2017
07:07:12
может отображение в виде таблицы, а компоненты могут быть ну сильно разные

компонент - это ещё и поведение

Max
22.03.2017
07:07:53
Вы там вдвоём?)

your-mirror
22.03.2017
07:07:58
вообще все сложнее гораздо. есть ItemsProvider, поставляющий данные. Есть какой-то темплейт, который можно указать и он будет его рендерить и пропихивать данные в этот темплейт, как пример был таблица

Max
22.03.2017
07:08:51
Короче

your-mirror
22.03.2017
07:08:59
я все это реализовал уже и мне просто стало интересно как сделали другие, hoc мне не подошел, с пробросом children я не помню, но тоже какие-то проблемы были

Max
22.03.2017
07:09:46
<parent><item1/><item2/></parent>

Если тебе только инжектить данные нужно

В рендере итерация по чайлдам

И инжект

Google
Max
22.03.2017
07:12:49
Не?

Но если у тебя структура не плоская внутри не подойдёт (

your-mirror
22.03.2017
07:13:51
http://pastebin.com/H5tguUpE мне кажется по такому будет тяжело пробежаться или по такому пробежишь?

ну да
в этом и была проблема, теперь я вспомнил )

ну т.е. типа <Table header={{class: SmartHeader}} ... /> ?
из-за чего я выбрал этот способ

Admin
ERROR: S client not available

Max
22.03.2017
07:17:43
Чот дохера сложно

Я бы сделал таки разные компоненты таблиц с одним интерфейсом)

your-mirror
22.03.2017
07:19:52
эм, ну тогда лишишься компонуемости и весь профит в переиспользовании уйдет

Max
22.03.2017
07:20:04
Но опять же код твой не вижу

Вижу

your-mirror
22.03.2017
07:20:57
Max
22.03.2017
07:21:23
Испарил опечатку

your-mirror
22.03.2017
07:28:02
Таблицы в этом плане коварны очень, если где-то можно просто запихнуть 1 потомка или они были бы жестко структуированы, то было бы все проще

Pavel
22.03.2017
08:02:51
есть компонент таблица состоящий их дефолтных Header, Footer, Body компонентов. Ты может помеять Header на SmartHeader, тоже самое с остальными
Есть два подхода к реализации таблиц в react, их можно посмотреть здесь: https://github.com/bvaughn/react-virtualized https://github.com/tannerlinsley/react-table Мне ближе второй вариант, но мы используем входными данными: data - источник данных в виде map id => doc order - порядок сортировки данных columns - парметры столбцов, accessors, renders по аналогии с react-table

Вика
22.03.2017
08:34:00






Google
Вика
22.03.2017
08:34:02


Dmitry
22.03.2017
08:35:01
Ну наконец-то на мир посмотрел

Вика
22.03.2017
08:36:30














Миша
22.03.2017
08:40:36
баньте шаболду

your-mirror
22.03.2017
08:45:46
Ilnur
22.03.2017
08:50:38
Вай вай вай какие картинки!

Максим
22.03.2017
08:51:00
первый раз спам вынудил меня подписаться)

Ilnur
22.03.2017
08:52:59
вот так и теряются бойцы невидимого фронта

?

Andrey
22.03.2017
08:54:13
погодите. бан только после предупреждения, вы нарушаете правила баня без предупреждения :)

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