@react_js

Страница 1092 из 5115
Pavel
20.03.2017
06:27:40
Где-то была ошибка. Перепиши иммутабельно и проверим.

Danil
20.03.2017
06:28:38
А вот я в провайдер передаю стор, получается он должен всем детям быть доступен как props.store?

Pavel
20.03.2017
06:30:34
Filter.jsx, handleChange:

handleChange = ({ target: { value }}) => { this.setState({ value }) this.props.handleFilter(filterQuery) }

Google
Pavel
20.03.2017
06:31:29
А вот я в провайдер передаю стор, получается он должен всем детям быть доступен как props.store?
Да, он в виде context спускается ко всем children. Сейчас посмотрим, как ты его используешь.

Напрямую не рекомендую к нему обращаться.

Danil
20.03.2017
06:32:20
Я вообще не смог к нему обратиться без коннекта, так и должно быть?

Я для того чтобы к нему обращаться создал AppContainer

Мне кажется это неправильным

Pavel
20.03.2017
06:33:06
AppContainer не нужен

Он внутри this.context.store

Как props.store он не доступен

Danil
20.03.2017
06:34:13
А почему у меня стор доступен как 2 редьюсера?

Pavel
20.03.2017
06:35:05
Не понимаю, что значит как 2 редьюсера

Danil
20.03.2017
06:35:10
В imagegrid можно видеть что я стэйт через редьюсер получаю

store.filterReducer.map - это в imagegrid.jsx

Pavel
20.03.2017
06:37:38
Не называй store = state - это путает самого тебя const mapStateToProps = state => ({ store: state, });

Google
Pavel
20.03.2017
06:38:01
Ты сам себя запутал неверным наименованием переменных

Когда ты создаешь корневой reducer ты используешь combineReducers

Это помощник, который на основании ключей переданных и соответствующих им редьюсерам создает в state соответствующие ключам разделы.

Потому используя например следующий код: const rootReducer = combineReducers({ filter: filterReducer, size: sizeReducer, });

Ты получишь filter и size в state

Danil
20.03.2017
06:40:57
Ну теперь понятно почему так, у меня еще возникла проблема с preloaded state в createStore я в него отправлял images

Но он все равно не был доступен

Я могу как-то получить в дочерних компонентах доступ к preloaded state

Pavel
20.03.2017
06:42:15
У тебя корневое состояние выглядит, как { filterReducer: [], sizeReducer: '123132px' }

Я в корне не согласен с наименованием и методикой работы

filterReducer - не должно быть

Тебе не нужен доступ к preloadedState

Ты несколько не понимаешь логику работы redux

У тебя должен быть единственный reducer - image

Который хранит набор картинок

При mapStateToProps

Ты можешь делать фильтрацию

your-mirror
20.03.2017
06:44:11
подскажите, redux использует реактовский context?

Pavel
20.03.2017
06:44:21
Да

Точнее не redux

Google
Pavel
20.03.2017
06:44:33
react-redux

redux ничего не знает про react

В react-redux есть Provider, который инкапсулирует store в context

И уже используя connect вы можете сделать map state и actionCreator на props

Danil
20.03.2017
06:47:45
Ну получается в image reducer я импортирую images и через mapStateToProps и connect передам их в нужный мне компонент?

your-mirror
20.03.2017
06:50:21
Да
Тогда не совсем понимаю почему используют библиотеку, которая зависит от контекста, который находится под статусом deprecated? Т.е. есть вероятность, что контекста не будет в следующих версиях

Pavel
20.03.2017
06:51:28
Так же скажу вам больше, сейчас идет полным ходом разработка fiber для перехода на stateless компоненты

your-mirror
20.03.2017
06:52:38
Pavel
20.03.2017
06:52:48
И будет рефакторинг всего react мира

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

Но у @acemarke написано больше

Paruyr
20.03.2017
06:54:07
кстати, какой смысл в mapDispatchToProps?

Pavel
20.03.2017
06:54:42
mapDispatchToProps обертывает ваши actionCreator в dispatch и делает map в props.

Pavel
20.03.2017
06:56:04
Имея например actionCreators: login, logout, signup и делая так: connect(null, { login, logout, signup })(YourComponent) Вы можете обращаться к ним напрямую this.props.login

Это упрощенная форма connect

Где вторым аргументом передается объект

Google
Pavel
20.03.2017
06:57:12
Как же тяжело в telegram после Discord. Хочется нормального форматирования js.

Ну получается в image reducer я импортирую images и через mapStateToProps и connect передам их в нужный мне компонент?
Я рекомендую на текущем этапе на разделять компоненты на presenter и container. Так как вы только учитесь.

Danil
20.03.2017
07:09:39
Я рекомендую на текущем этапе на разделять компоненты на presenter и container. Так как вы только учитесь.
Это для меня самая сложная часть, я поэтому и стал разделять чтобы понять. Получается мне нужен image reducer который будет просто грубо говоря хранить все данные и из него я буду их все что нужно отправлять в компоненты.

Pavel
20.03.2017
07:13:53
В данной ситуации вам даже редьюсеры не нужны вы только храните информацию о картинках и никак ей не управляете

@DanDanDan Фильтрация делается с помощью механизма selector в mapStateToProps

@Dandandandan SliderContainer.js Используйте упрощенную форму mapDispatchToProps как объект: import { connect } from 'react-redux'; import { changeSize } from '../actions'; import Slider from '../components/Slider'; export default connect(null, { changeSize })(Slider);

@Dandandandan FilterContainer.js полность переделывется с использованием selectImageListByName

@Dandandandan Так же можете использовать для indexOf побитовый оператор ~ ~i.name.toLowerCase().indexOf(action.filterQuery.toLowerCase())

Admin
ERROR: S client not available

Sheridan
20.03.2017
07:31:45
Народ, советую посмотреть в заголовки озона, который ozon.ru :))))

"name": "X-Recruiting", "value": "Like web development? Come write ours: http://job.ozon.ru/"

))))

рекрутеры-затейники мля )))

Ostap
20.03.2017
07:36:11
перейдите https://job.ozon.ru и кликните "Senior IOS разработчик"

тож весело

Ruslan
20.03.2017
07:52:47
У них там Bitrix, без Senior Web Architect не обойтись

Kreizo
20.03.2017
08:22:55
подскажите, а пагинацию можно сделать без стороны сервера просто ответ порезать на части ?

если да, то дайте либу для реакта

Mike
20.03.2017
08:23:22
Нет, религия js запрещает резать ответ

Ruslan
20.03.2017
08:26:49
Google
Mike
20.03.2017
08:28:15
https://developer.mozilla.org/ru/docs/Web/JavaScript/Reference/Global_Objects/Array/slice
Ну тебя либу попросили, а ты средства языка

Должен быть react-array-slicer-for-pagination-client-only

Dmitry
20.03.2017
08:30:12
Лучше isomorphic-react-array-slicer-for-pagination

Ruslan
20.03.2017
08:37:29
https://github.com/PositronicBrain/reactSumRedux

wumin
20.03.2017
08:40:47
Кто использует create-react-app, есть возможность без eject'a прикрутить css-modules и кастомные postcss плагины?

Damir
20.03.2017
09:01:18
Кто-нибудь сталкивался с такими багами eslint? http://take.ms/5ss1f

Отступы в порядке, в пятницу ошибок не было, сегодня проект не запускается, выдает ошибку jsx-indent

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

Artem
20.03.2017
09:26:09
Ребят, кто нибудь ставил https://stripe.com платежную систему? Подскажите пожалуйста есть ли проверенные способы внедрения этого дела на React клиенте? нашел я вот эту статейку, но она не внедряет доверия: https://davidwalsh.name/step-step-guide-stripe-payments-react

может я ошибаюсь и это действительно хорошая статья...

Alexander
20.03.2017
09:33:47
https://tproger.ru/translations/9-useful-tips-react/

Yakov
20.03.2017
10:08:14
Посоны, чем прокачать css (пост процесморы или препроц) что бы флексбокс максимально поддерживался на олдскульных браузерах? Какой сейчас феншуйный способ есть для этого?

Mikhail
20.03.2017
10:08:46
уже гриды вот-вот повсюду будут - а ты fallback на flexbox

Yakov
20.03.2017
10:09:09
Ну а все же

Artem
20.03.2017
10:09:23
уже гриды вот-вот повсюду будут - а ты fallback на flexbox
а можно подробнее на счет гридов?

Mikhail
20.03.2017
10:10:01
а можно подробнее на счет гридов?
А что подробнее то? http://caniuse.com/#search=grid вот еще немного

Artem
20.03.2017
10:10:16
??

Dmitry
20.03.2017
10:12:19
Посоны, чем прокачать css (пост процесморы или препроц) что бы флексбокс максимально поддерживался на олдскульных браузерах? Какой сейчас феншуйный способ есть для этого?
Мы через инлайн блоки какую-нибудь упрощенную версию делаем, чтобы хотя бы нормально отображалось, а потом перекрываем флексом для нормальных браузеров

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