
Vladimir
07.02.2017
13:37:49
скорее всего для ssr нужен провайдер

Andrey
07.02.2017
13:38:20

Vladimir
07.02.2017
13:38:42
то есть не css-in-js?

Andrey
07.02.2017
13:38:57
а как это задетектить ?

Google

Andrey
07.02.2017
13:39:06
https://github.com/JedWatson/classnames вот это юзают

Brs
07.02.2017
13:39:15

Vladimir
07.02.2017
13:39:50
не?
спс, но уже нашёл https://github.com/mdn/data/blob/master/css/properties.json


Andrey
07.02.2017
13:40:07
Хотим сделать сервер-сайд рендеринг, но возникла проблемка со стилями.
У нас есть НЕ НАШИ компоненты внутри которых вот такие конструкции
import styles from './styles.pcss';
import classNames from 'classnames/bind';
const cx = classNames.bind(styles);
вебпак настроен вот так:
module{ loaders: [
{
test: /\.p?css$/,
loaders: ['style', 'css?modules&localIdentName=[hash:base64:10]!postcss'],
},
...
]
После компиляции мы получаем бандл со всеми компонентами, картинками и стилями внутри — всё в одном файле.
затем мы юзаем этот "бандл" внутри сервер-сайд рендерера, и получаем ошибку.
Стектрейс говорит, что не может найти document.createElement ... зафейкали этот метод, и оказывается оно в <head> пытается присунуть теги <style> с ЦСС-СТИЛЯМИ :(.
Вот проблема в том, что не понятно как сервером рендерить стили в этом случае. :( Ведь сервер то не умеет в DOM.
подскажите какойнить обходной манёвр ?
Убрать такой код в componentDidMount


Brs
07.02.2017
13:40:44
там по всем элементам классы расставляются из этого кода
@iyntx https://github.com/gajus/react-css-modules/issues/83

Andrey
07.02.2017
13:43:07

Artur
07.02.2017
14:01:09
Про передачу пропсов дочерним компонентам нашел, кстати. Если кому интересно https://facebook.github.io/react/docs/context.html

Джон
07.02.2017
14:01:31
If you want your application to be stable, don't use context. It is an experimental API and it is likely to break in future releases of React.

Artur
07.02.2017
14:03:40
Ну, других вариантов не вижу пока.

Google

Artur
07.02.2017
14:04:55
Мне в принципе нужно это для того же самого, для чего используется в https://github.com/jquense/react-bootstrap-modal

Brs
07.02.2017
14:08:52

Andrey
07.02.2017
14:11:16


Dmitriy
07.02.2017
14:41:22
как правильно обрабатывать ошибки при использовании react router? у нас сейчас если происходит ошибка при рендеринге компонента, то приложение просто умирает, перестают работать все ссылки, при любом действии в консоль валится
Uncaught (in promise) TypeError: Cannot read property 'getHostNode' of null
at Object.getHostNode (ReactReconciler.js:64)
at ReactCompositeComponentWrapper.getHostNode (ReactCompositeComponent.js:383)
at Object.getHostNode (ReactReconciler.js:64)
at Object.updateChildren (ReactChildReconciler.js:114)
at ReactDOMComponent._reconcilerUpdateChildren (ReactMultiChild.js:210)
at ReactDOMComponent._updateChildren (ReactMultiChild.js:314)
at ReactDOMComponent.updateChildren (ReactMultiChild.js:301)
at ReactDOMComponent._updateDOMChildren (ReactDOMComponent.js:942)
at ReactDOMComponent.updateComponent (ReactDOMComponent.js:760)
at ReactDOMComponent.receiveComponent (ReactDOMComponent.js:718)


Mikhail
07.02.2017
14:47:22
а что он делает ?
Твоя нода не знает как обработать css файл через require
Поэтому можно юзать такие хуки, чтобы перехватывать и самому решать что делать с файлом

Andrey
07.02.2017
15:04:26
Твоя нода не знает как обработать css файл через require
Поэтому можно юзать такие хуки, чтобы перехватывать и самому решать что делать с файлом
отлично. Как это выглядит простыми словами ?
1) компоненты +цсс + картинки собираются вебпаком в один файл.
2) я юзаю этот файл в своём проекте (на сервере только v8).
3) когда я при серверном рендеринге скармливаю компонент+пропсы в v8 оно пишет мне ошибку "не могу найти navigator" или "нет метода createElement у undefined"
4) в какое место мне вставить рекваирхук ?
4.1) мы попробовали настроить вебпак и некий файл
cmrh.conf.js
как описано в этой демке (но без експреса) https://github.com/css-modules/css-modules-require-hook/tree/master/demo, но видимо я не понимаю что происходит вообще. т.к. ошибка та-же, ничего не изменилось


Mikhail
07.02.2017
15:13:42
И все плагины что есть в вебпаке или не все - сам спотрим - надо сделать так:
hook({
prepend: [
например nested плагин какой-нить и еще все-все друзья
],
});
вот я так столкнулся с проблемой: https://github.com/css-modules/css-modules-require-hook/issues/75
и получается что настроки должны по сути дублироваться


Roman
07.02.2017
16:01:58
Выручите ) Я уже ничего не понимаю что тут произходит http://stackoverflow.com/questions/42094287/axios-referenceerror-config-is-not-defined

Dmitry
07.02.2017
16:55:06

from
07.02.2017
16:55:56
может там дубликат

Roman
07.02.2017
16:56:11
такие вопросы даже стыдно спрашивать там

Dmitry
07.02.2017
16:56:34
Никакие вопросы не стыдно, кроме откровенных homework )
И в любом случае это решать модераторам SO, что за селф-цензура

Roman
07.02.2017
16:56:50
просто тупо незаметил что config непередан

Dmitry
07.02.2017
16:57:00
Так надо было не сносить, а дать ответ

Roman
07.02.2017
16:57:01
я и есть модератор
ну там такие тупые ошибки неприветсвуются ) такое точно гуглить небудут

Dmitry
07.02.2017
16:59:27
энивей, кто-то мог прочесть вопрос и заинтересоваться ответом. (В том числе вот как я в чате.) А в итоге неявная ситуация. В следующий раз не сноси, а просто заакцепть свой ответ. :)

Google

Дмитрий
07.02.2017
17:02:21

Artur
07.02.2017
17:11:14

Roman
07.02.2017
17:14:29

Dreamerinnoise
07.02.2017
19:16:47
https://twitter.com/horse_js/status/829032653882003456

Anton
07.02.2017
19:19:17
Всем привет. Подскажите есть нормальные плагины для создания карусели, но с возможностью подгрузки элементов при приближении к “краям” карусели. Или с помощью какого плагина это можно максимально безболезнено сделать?

from
07.02.2017
19:26:35
у swiperjs lazy loading изображений есть, но думаю на изображениях всё и заканчивается

Anton
07.02.2017
20:14:01
через slick хуки делал, но мне бы хотелось сделать это “под капотом”, чтобы они добавлялись динамически, не смещая текущий viewport
вот поэтому и думаю как лучше сделать

Джон
07.02.2017
20:38:41
Наконец я въехал как делать роуты внутри лейаута... ох
Ребят, как мне передать в фунцию scrollToY определенный элемент из DOM?

Джон
07.02.2017
21:13:57
document у меня андефайнед

Artur
07.02.2017
21:14:25
у тебя там опечатка documet

Джон
07.02.2017
21:14:52
ага))
но теперь
element.scrollTo is not a function
вот сам скриптик скролла

Artur
07.02.2017
21:17:32
а ты руками в консоли пробовал?) этот метод есть у элемента?))
p.s. боюсь, что нет

Google

Джон
07.02.2017
21:18:06
хм да, скорее всего
просто для window оно работает

Artur
07.02.2017
21:18:25
потому что у window есть

Джон
07.02.2017
21:19:15
понял ) спасибо
Наверное проще в дочернем элементе написать функцию в метод componentDidMount
только придется писать в каждый
?

Amon Bower
07.02.2017
22:06:59
Подскажите, пожалуйста, почему не выводится ничего в <ul>, хотя в store имеются динамически добавленные строки и выводит количество добавленных строк. Примерные догадки? Весь код скидываться длинная история.

Admin
ERROR: S client not available

Amon Bower
07.02.2017
22:07:00

Artur
07.02.2017
22:09:10
ты в .map ничего не возвращаешь
замени {} на (), например

Amon Bower
07.02.2017
22:09:45
точно :facepalm:
спасибо

Artur
07.02.2017
22:12:08
не за что))

Ruslan
07.02.2017
22:13:36
А кто использовал multiple entries с ExtractTextWebpackPlugin в Webpack 2? Т.е. мне надо экстрактить в 2 разных файла

Artur
07.02.2017
22:17:41
ну, я разбиваю на вендорские стили и приложения
вроде как в этом плане осталось все то же, что и в вебпаке1, хотя плохо помню

Ruslan
07.02.2017
22:19:47
А пример есть? Если что, то речь именно про стили

Google

Artur
07.02.2017
22:20:57
ну и сам лоадер все тот же

Ruslan
07.02.2017
22:24:34
а как выборка идет, на основе чего формируется contenthash

Artur
07.02.2017
22:25:28
на основе контента)
собственно, если ты используешь multiple entry, то обязан использовать не статик-нейм
а типа на основе хэша, имени и id чанка

Adel
07.02.2017
22:54:45

Nikita
07.02.2017
22:56:23
[ac], | не нужен. долго не мог понять, что не так в регулярке, но что-то мешало))

Artur
07.02.2017
22:58:38
все файлы все равно .scss
хотя нет, все-таки s?css))

Ruslan
07.02.2017
23:08:24
а если надо часть sass файлов объединить в один файл, часть в другой?

Artur
07.02.2017
23:10:39
он их объединяет по твоим entry
и считает contenthash для результата
т.е. если у тебя есть 'app', 'vendor', то в итоге при именовании [name]-[contenthash].css будет 2 чанка - app-u1i23j21oi3jalndl.css и vendor-0nasdadns;d.css
как и в других плагинах при работе с чанками
в свою очередь, ты можешь их еще подробить так-то

Ruslan
07.02.2017
23:14:15
все-таки наверно это не стоит переносить на плечи webpack, бандлер - это не сборщик

Artur
07.02.2017
23:14:44
обычно на его плечи и переносят