
Nikita
24.08.2017
08:50:39
Ну, значит, ты где-то лажанул

Oleg ?
24.08.2017
08:50:49
У меня обычный компонент, и в родтеле вызывается forceUpdate
А вот ребёнок не обновляется

Nikita
24.08.2017
08:51:25
Ванговать без кода сложно

Google

Vladimir
24.08.2017
08:51:28

Oleg ?
24.08.2017
08:51:31
Я передаю в него только один приметив и этот приметив не меняется
Ща
Ага, в сендбоксе у меня всё работает
https://codesandbox.io/s/61nk2j875r

Nikita
24.08.2017
08:57:33
Эт норм?)

Oleg ?
24.08.2017
08:57:53
Он сегодня что - то тупит
Попробуй ещё раз
Может npm'у плохо

Sergey
24.08.2017
09:03:51
Был еще вот такой вот гость. Но чет там было багов придостаточно, но зато можно стримить в риал-тайме.
https://www.webpackbin.com/

Oleg ?
24.08.2017
09:03:55
Что за бред, в сендбоксе работает, в проекте нет ?

Nikita
24.08.2017
09:04:11
Попробуй ещё раз
С 100й попытки
export default ({ time }) => <h1>Time: {Date.now() - new Date(time).getTime() }!</h1>;
Так это изи. Должно работать

Google

Oleg ?
24.08.2017
09:05:02

Sergey
24.08.2017
09:06:08
В вебпакбине можно было и код стримить. Там у зрителя открывалось и окно предпросмотра, и окно редактора.
Хотя тут тоже наверное доски в риал-тайме обновляются...
Я закреплю тут на всякий случай...
#react_online
https://codesandbox.io/
https://stackblitz.com

Nikita
24.08.2017
09:08:36

Sergey
24.08.2017
09:08:54
Можно вообще я думаю в прикрепленые вынести, чтобы код через них шэрили

Petr
24.08.2017
09:11:31

Oleg ?
24.08.2017
09:11:32
В него передаётся один параметр из конфигурации,, который лежит в сторе
*это я объяснил зачем там редакс

Sergey
24.08.2017
09:12:21
С телефона неудобно
Ну можно посмотреть какие редакторы адаптируются под телефонное разрешение...
Просто если какой-то большой кусок, то довольно сложно его тут читать из сообщения

Petr
24.08.2017
09:13:17

Sergey
24.08.2017
09:14:02

Nikita
24.08.2017
09:14:32
Глянь доки к коннекту

Emir
24.08.2017
09:14:46
Кто нибудь может с этим помочь?
https://github.com/metr1ckzu/react-calculator/tree/testing

Nikita
24.08.2017
09:15:08

Oleg ?
24.08.2017
09:15:35

code4aman
24.08.2017
09:18:55

Google

code4aman
24.08.2017
09:19:29
типа "transform": { "^.+\\.(js|jsx)$": "<rootDir>/node_modules/babel-jest" }

Сергей
24.08.2017
09:19:38
парни, есть функция в connect((state, props) => {}), как сделать чтобы она не вызывалась при любом изменении в сторе?

Emir
24.08.2017
09:20:11

code4aman
24.08.2017
09:20:28
ага, в секции жеста

Сергей
24.08.2017
09:21:00
реселект?
у меня выборка по динамическому айдишнику, реселект такое вроде не может?
const item = state.table.items[props.id]

Denis
24.08.2017
09:22:02
Ну ты айдишник где-то же хранишь
Вот пусть реселект получает его из стора
И отдает тебе выборку

Сергей
24.08.2017
09:22:33
айдишник извне, он передается пропом

Denis
24.08.2017
09:23:26
Ну селекторы вторым параметром помимо стейта принимают пропы:)

Emir
24.08.2017
09:24:15

Nikita
24.08.2017
09:24:31

Emir
24.08.2017
09:24:33
предпологаю, что это что-то связанные с env в бебеле?

code4aman
24.08.2017
09:25:27
jasmine/Env.js? не думаю

Nikita
24.08.2017
09:25:33
За деталями в доки к коннекту и реселектуъ

Сергей
24.08.2017
09:27:51
как вообще работает reselect внутри?

Google

Сергей
24.08.2017
09:27:59
как он понимает изменился массив или нет
или объект вложенный

Nikita
24.08.2017
09:28:17
Эм
Ну доки же есть)

Denis
24.08.2017
09:28:25
Он сравнивает по ===
Если хочешь изменить поведение прокидываешь функцию сравнения

Admin
ERROR: S client not available

Denis
24.08.2017
09:29:37
Но если хочешь это сделать, значит что-то делаешь неправильно

Alexander
24.08.2017
09:29:59
Друзья, у меня к вам вопрос в духе "как лучше?", есть большой saas проект, хочу сделать серверную часть как API и фронт на React, но как организовать фронт не знаю. Хотел изначально сделать SPA, остановило то что тяжелые файлы стилей/скриптов становятся + множество маршрутов. Теперь думаю сделать под каждую страницу свою "точку входа", где помимо файлов vendors, manifest будет один файл скриптов, стилей нужной страницы и ничего лишнего. Но тут (как я думаю) проблема по организации красивых url и в целом читаемости кода.
Что посоветуете? Может почитать чего? Ссылки на примеры хорошей архитектуры? Накиньте мыслей пожалуйста, я в react новый человек, не кидайте камнями

Emir
24.08.2017
09:30:28

code4aman
24.08.2017
09:31:24
это откуда ваще? из CRA?

Emir
24.08.2017
09:31:35
да

code4aman
24.08.2017
09:31:57
а зачем там jasmin?

Сергей
24.08.2017
09:32:02

Maksim
24.08.2017
09:32:13
Друзья, у меня к вам вопрос в духе "как лучше?", есть большой saas проект, хочу сделать серверную часть как API и фронт на React, но как организовать фронт не знаю. Хотел изначально сделать SPA, остановило то что тяжелые файлы стилей/скриптов становятся + множество маршрутов. Теперь думаю сделать под каждую страницу свою "точку входа", где помимо файлов vendors, manifest будет один файл скриптов, стилей нужной страницы и ничего лишнего. Но тут (как я думаю) проблема по организации красивых url и в целом читаемости кода.
Что посоветуете? Может почитать чего? Ссылки на примеры хорошей архитектуры? Накиньте мыслей пожалуйста, я в react новый человек, не кидайте камнями
пахнуло 2010м, осталось реакт на jq заменить

Emir
24.08.2017
09:32:17

Сергей
24.08.2017
09:32:17

Emir
24.08.2017
09:32:20
https://facebook.github.io/react/docs/installation.html

code4aman
24.08.2017
09:32:26
а с jest он же не нужен?

Emir
24.08.2017
09:32:36
я просто поставил CRA

Google

Emir
24.08.2017
09:32:56
ну и потом 4 часа мучений с тестами, почему нифига жест не работал, но жасмин я не ставил кажись

Nikita
24.08.2017
09:33:00
или объект вложенный
createSelector(
selectA,
selectB,
(a, b) => result
)
Первые N (в примере 2) функции получают куски стейта. Т.е. если ты вызвал селектор как selector(state, props), то в первые две функции будут переданы параметры state и props. То, что вернут эти функции и будет сравниваться: по-умолчанию через ===, но можно прокинуть свою любую функцию.
В последнюю функцию всегда передается результат работы предыдущих. Она вызывается, только когда хоть одно из этих значений изменилось.
Пример
const selector = createSelector(
(state, props) => state.table.items[props.id],
item => ({ item })
)
selector(state, props)
Но в данном случае селектор нахрен не нужен. Он нужен только когда ты собираешь сложный стейт из нескольких сторов

Denis
24.08.2017
09:33:38
Если у тебя есть изменения, ты изменяешь стейт, если их нет - не изменяешь, соответственно объект либо новый, либо старый ??

Nikita
24.08.2017
09:33:43
Короче, нет времени объяснять) Изучай сам

Denis
24.08.2017
09:33:57
Прочувствуй :)

Nikita
24.08.2017
09:34:01

Alexander
24.08.2017
09:34:03

code4aman
24.08.2017
09:34:29


Сергей
24.08.2017
09:35:04
createSelector(
selectA,
selectB,
(a, b) => result
)
Первые N (в примере 2) функции получают куски стейта. Т.е. если ты вызвал селектор как selector(state, props), то в первые две функции будут переданы параметры state и props. То, что вернут эти функции и будет сравниваться: по-умолчанию через ===, но можно прокинуть свою любую функцию.
В последнюю функцию всегда передается результат работы предыдущих. Она вызывается, только когда хоть одно из этих значений изменилось.
Пример
const selector = createSelector(
(state, props) => state.table.items[props.id],
item => ({ item })
)
selector(state, props)
Но в данном случае селектор нахрен не нужен. Он нужен только когда ты собираешь сложный стейт из нескольких сторов
у меня просто логика есть в функции mapStateToProps, которая получает данные из стора и прокидывает ниже в пропы компонента
думаю как бы сделать чтобы на каждый чих в сторе она не вызывалась

Emir
24.08.2017
09:35:56

Сергей
24.08.2017
09:35:59
там типа выборки и сортировки и они зависят от изменений в сторе массива и объекта

Nikita
24.08.2017
09:36:24

Emir
24.08.2017
09:37:07

Nikita
24.08.2017
09:37:46

Denis
24.08.2017
09:38:41

Nikita
24.08.2017
09:38:43

Denis
24.08.2017
09:38:59
Он скорее всего изменяет объект даже если данные одни и те же