@react_js

Страница 195 из 5115
from
14.06.2016
13:28:31
попробовал так же, все равно он не видит реакта
а где и как ты запрашиваешь этот logo.svg?

Ivan
14.06.2016
13:37:14
import AssetLogo from './landing-assets/logo.svg'; export const Logo = props => <AssetLogo {...props}/>;; в отдельном js

Tony
14.06.2016
13:45:11
как вы решаете проблему больших файлов? 170 строчек верстки jsx уже плохо читаются

Nikita
14.06.2016
13:45:53
разбивать на компоненты

Google
Tony
14.06.2016
13:46:32
это одна форма, дальше бить уже на label+input

Nikita
14.06.2016
13:47:38
например input + label завернуть в Input компонент

Dmitry
14.06.2016
13:48:06
И если однотипные, то можно даже реюзать :)

Nikita
14.06.2016
13:49:11
форма из 20 полей - не нормально ни в коде, ни в интерфейсе. Скорее всего есть какие-то группы, которые делаются через fieldset. Вот выносить такие в компоненты

Aleh
14.06.2016
13:50:00
кто как делает фильтры с websockets? Задача: отображается список элементов cud для которых прилетает по ws, список можно фильтровать большим числом параметров

Denis
14.06.2016
13:50:17
Интересно

Nikita
14.06.2016
13:53:25
кто как делает фильтры с websockets? Задача: отображается список элементов cud для которых прилетает по ws, список можно фильтровать большим числом параметров
Посмотри как яндекс маркет сделан, например. Только не очень понимаю, при чем тут транспорт, с http что-то изменится в задаче?

Aleh
14.06.2016
13:55:57
ну да, в случае http для выборок get сервер у нас что-то вроде чистой функции, а в случае ws, при изменении\добавлении\удалении объекта ему надо сообразить кому что послать

Nikita
14.06.2016
13:56:59
а, ты хочешь риалтайм фильтр?

Aleh
14.06.2016
13:57:13
да

у нас до этого фильтров не было на списке(точнее были очень глобальные, решили разделением каналов), было все просто

тут что-то типа как у твиттера в лентах надо

Nikita
14.06.2016
13:58:43
гм, ну хранить на сервере для клиента фильтр, по апдейту собственно слать апдейт) Дифф да еще с условиями, не весело)

Google
Aleh
14.06.2016
13:59:04
вот да, мне просто показалось, что вроде бы задача типичная должна быть

Nikita
14.06.2016
13:59:43
я думаю у твиттера легко как-то сделано

Aleh
14.06.2016
13:59:58
у вк все просто, long-polling -_-

Nikita
14.06.2016
14:00:04
например спрашиваем у сервера раз в 10 сек что есть с так-то даты новенькое

Aleh
14.06.2016
14:00:46
стоп, у твиттера тоже long-polling

Nikita
14.06.2016
14:01:11
тебе надо решить, это полноценный дифф должен быть, или нет

например если твитт вчерашний удалится, надо его удалять из ленты? Я думаю твиттеру это не критично, например

Aleh
14.06.2016
14:02:06
у меня важна актуальность данных

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

from
14.06.2016
14:48:44
import AssetLogo from './landing-assets/logo.svg'; export const Logo = props => <AssetLogo {...props}/>;; в отдельном js
нужно import React from 'react' в тех файлах, где используешь jsx

from
14.06.2016
14:57:24
ну в примере не написал

Ivan
14.06.2016
14:58:43
Смотри, в файле где экспортятся все свг так я пишу: import React, {Component} from 'react'; import AssetLogo from './landing-assets/logo.svg'; export const Logo = props => <AssetLogo {...props}/>;;

Это прекрасно работает на клиенте, но когда я прогоняю на тестах, у меня валится эта ошибка

Ivan
14.06.2016
15:03:48
;;

Konstantin
14.06.2016
15:39:16
Кто знает, как прочитать даные из Relay store напрямую, имея на руках query и data ID?

hlomzik
14.06.2016
15:43:26
хотя свг-реакт все равно должен добавлять

Google
Vladimir
14.06.2016
16:18:33
Это прекрасно работает на клиенте, но когда я прогоняю на тестах, у меня валится эта ошибка
Просто предположение, logo.svg компилируется в отдельный модуль, в котором не рекваерится React, на клиенте есть глобальная переменная React, в тестовом окружении ее нет

Либо, если в получившемся модуле react все-таки рекваерится, то возможно, что react указан в externals, и в этом случае опять-таки используется глобальная переменная React

Ivan
14.06.2016
17:26:25
В екстерналс указал, первое что сделал

а как ты svg тестишь?
Я их не тесчу. И даже не собираюсь этого делать

оно под горячуу руку моке попадается видимо

Vladimir
14.06.2016
17:33:46
В екстерналс указал, первое что сделал
речь ведь идет о webpack? для externals модулей webpack делает вот такую штуку: /* 1 */ /***/ function(module, exports) { module.exports = React; /***/ }, и потом рекваерит ее: var React = __webpack_require__(1); И если у нас нет глобальной переменной React (что для тестового окружения, скорее всего так и есть), получится ReferenceError: React is not defined

Ivan
14.06.2016
19:07:11
Вот черт

Ну тогда для глупеньких - как настроить моку с реактом?

Alexey
14.06.2016
19:08:54
а в чем трудность?

мока обычный тест раннер

а для реакта есть react-addons-test-utils

который реализует нужные биндинги для компонентов

Alexey
14.06.2016
19:09:59
и куча абстракций над этой библиотекой

типо enzyme и т.п.

послее скорее даже свое решение

Евгений
14.06.2016
19:10:58
https://github.com/airbnb/enzyme/blob/master/docs/guides/mocha.md

Andrey
14.06.2016
19:40:01
AVA

Ҫѐҏӗѫӑ
14.06.2016
19:40:49
я вот тут совершенно случайно столкнулся с авой

в ней невозможно дебажить тесты

там чел из джетбрейнс чо-то пилит и пропадает потом

Google
Ҫѐҏӗѫӑ
14.06.2016
19:41:24
один pr закрыли уже

второй висит

Andrey
14.06.2016
19:41:56
хм. я чот видимо не натыкался ещё на такую проблему

Ҫѐҏӗѫӑ
14.06.2016
19:42:03
а так в принципе я о ней в лучшую сторону поменял мнение

но пока tape все равно ближе

Andrey
14.06.2016
19:42:35
она мне просто стек в консоль суёт еси что не так https://i.imgur.com/6o2K40S.png

Ҫѐҏӗѫӑ
14.06.2016
19:42:51
наткнулся тут https://github.com/acdlite/recompose/pull/196

там ссылка на тот висящий pr

в нем ссылка на предыдущий pr

в нем ссылка на issue

Admin
ERROR: S client not available

Andrey
14.06.2016
19:43:39
трабла только в рхжс?

Ҫѐҏӗѫӑ
14.06.2016
19:43:53
не, это понятно, что он выдает, но не всегда то, что нужно

трабла просто в жс

не важно

Dmitry
14.06.2016
19:44:42
но пока tape все равно ближе
Что круто. У ава есть интерфейс для репорторов тейповский. А к тейпу всяких меланинов уже понапилили

Ҫѐҏӗѫӑ
14.06.2016
19:44:46
там не маунтится нода в энзиме

и надо задебажить

больше двойной вложенности не позволяет

Google
Ҫѐҏӗѫӑ
14.06.2016
19:45:42
там работают над спекой следующей

но оно как-то подвисло

Dmitry
14.06.2016
19:46:20
В организации хотят интеграцию с тимсити

Везде есть. А в ава нет. Только через TAP

Допустим

Ҫѐҏӗѫӑ
14.06.2016
19:47:37
да, это да

у нас xunit в дженкинсе выводит

вообще есть возможность tape тесты запускать параллельно тоже форками

Andrey
14.06.2016
19:48:18
чот не понял ничего что пишут в оп-посте. https://github.com/acdlite/recompose/pull/196 это пошаговая инструкция чтобы сломать?

Ҫѐҏӗѫӑ
14.06.2016
19:48:48
оп пост — это что?

первый?

Andrey
14.06.2016
19:49:00
ага

Use rx-recompose-next branch: No RxJS dependency, depends on global Observable polyfill uses observables that conform to Observable spec and implement Symbol.observable Rename createComponent to componentFromStream

Ҫѐҏӗѫӑ
14.06.2016
19:49:20
там суть в том, что раньше был отдельнй пакет rx-recompose

который работал только с rx

Andrey
14.06.2016
19:49:35
так

Ҫѐҏӗѫӑ
14.06.2016
19:50:26
Эндрю хочет влить это все в обычный recompose и сделать так, чтобы был Observable, а дальше уже типа юзаешь что хочешь

но я там его убедил что это неправильно

потому что rx — это не полифилл, а для инетропа есть специальный символ

и если его сделать, то можно из обзервабла текущей спеки сделать обзервабл любой либы

конец

но там что-то мост не работает (я начал писать тесты)

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