@react_js

Страница 698 из 5115
Ilya
07.12.2016
07:44:48
Ну так пропами, пропами сударь.

Погодите.

hoc это новое название hof как у редакса, или именно <High><Low /></High>?

Pavel
07.12.2016
07:46:15
1

Google
Ilya
07.12.2016
07:46:25
Хм..

А не легче ли второй вариант юзать тогда?

<Permissions list={['admin']}> <MyComponent /> </Permissions>

Pavel
07.12.2016
07:47:12
Получится что будет много обёрток

А так ты нужные тебе люди компоненты расширил и юзаешь как хочешь - с пермишенами или без

Ilya
07.12.2016
07:47:49
Ну если у тебя их много будет, тогда да. А так много оберток будет, но в другом месте.

У тебя все равно целевой компонент остается без пермишенов.

Pavel
07.12.2016
07:49:59
В данном конкретном случае можно и так

Но в случае если придётся регулировать поведение компонента самого то придётся использовать hoc

Ну не то что придётся, но будет явно проще

Ilya
07.12.2016
07:50:40
Но тогда у тебя компонент будет не универсальный.

А если он не нужен универсальный, то зачем вообще hoc тогда?

Google
Ilya
07.12.2016
07:50:57
И обертка в принципе.

Pavel
07.12.2016
07:51:12
Чтобы функционал в одном месте хранить для разных компонентов

Ilya
07.12.2016
07:51:50
Не очень понял, ты же хочешь чтобы поведение самого компонента зависело от доступа, тогда это поведение придется в нем и прописывать.

Pavel
07.12.2016
07:52:48
Смотри, у тебя есть универсальный компонент, который контроллабл и его поведение регулируется извне. Если ты не хочешь париться и контролировать одинаково во всех родмтелях, то этот функционал выносишь в хок и не паришься

Ilya
07.12.2016
07:53:40
Погоди.

Регулируется извне, пропами штоле?

Pavel
07.12.2016
07:53:56
Ну да

Ilya
07.12.2016
07:54:03
Типо disabled на инпуте если прав нет?

Pavel
07.12.2016
07:54:19
Ну например да

Ilya
07.12.2016
07:54:32
А, сложил картину.

Угу, да. Тут подошло бы.

Kreizo
07.12.2016
08:06:22
ребят подскажите так правильно делать ?

componentWillUpdate(prewState, newState) { const boolean = newState.schedules.length === 0 newState.disabled = boolean }

проверять массив с сервера и если он пустой вешать класс empty

prev*

Alexey
07.12.2016
08:08:40
Посмотри доку, менять стейт через componentWillUpdate нельзя. А так ты можешь тотже конструктор использовать для этих целей, если знаешь данные

но лучше в стейте считать

Kreizo
07.12.2016
08:17:00
Alexey
07.12.2016
08:17:45
для совместимости с внешними библиотеками, которые не react-based

Kreizo
07.12.2016
08:18:01
мне просто нужно менять класс в компоненте в зависимости от стейта

Google
Alexey
07.12.2016
08:18:03
для взаимодействия с сервером есть другие средства

Andrew
07.12.2016
08:18:17
я пока так далеко не зашел в реакте, но в целом я бы не смешивал компоненты публичные с приватными по части уровней доступа, и логика будет проще, и рисков что-то упустить будет меньше

Alexey
07.12.2016
08:18:24
ну так завяжи класс на стейт в рендере

Andrew
07.12.2016
08:18:30
обычно я вообще наглухо отделяю публичные части от приватных

Kreizo
07.12.2016
08:18:48
этот стейт зависит от другого

если пустой массив

а все понял

Roman
07.12.2016
08:42:53
как можно называть константу/переменную boolean? это же путь канатаходца

Andrew
07.12.2016
08:43:22
is{Variable}

Roman
07.12.2016
08:43:58
в смысле?

Владислав
07.12.2016
08:44:05
А кто как решает проблему супер-длинных экшенов?

Сергей
07.12.2016
08:44:15
Дмитрий
07.12.2016
08:44:18
Сергей
07.12.2016
08:44:27
в смысле?
const isOpened = ... const hasChilds = ... const doesReceiveData = ...

Roman
07.12.2016
08:44:46
а, ну это то да

Владислав
07.12.2016
08:44:58
ну, меня смущает ORDER_SHOW_PLACE_CONFIRM и ORDER_HIDE_PLACE_CONFIRM

Roman
07.12.2016
08:45:03
но в примере выше const boolean = ...

Владислав
07.12.2016
08:45:17
их можно поменять на SET_ORDER_PLACE_CONFIRM_VISIBLE, но тоже хз

Сергей
07.12.2016
08:45:26
ну, меня смущает ORDER_SHOW_PLACE_CONFIRM и ORDER_HIDE_PLACE_CONFIRM
const types = createTypes(‘order’, [‘showPlace’, ‘hidePlace’]) dispatch({ type: types.showPlace })

Google
Kreizo
07.12.2016
08:45:50
isBoolean плохое название для переменной ?

Дмитрий
07.12.2016
08:46:06
ну, меня смущает ORDER_SHOW_PLACE_CONFIRM и ORDER_HIDE_PLACE_CONFIRM
redux-thunk, а внутри хоть час пусть висит

Сергей
07.12.2016
08:46:07
isBoolean плохое название для переменной ?
самое плохое, если это не парсер

Nikolay
07.12.2016
08:46:22
Владислав
07.12.2016
08:46:26
Дмитрий
07.12.2016
08:46:31
А, понял

Дмитрий
07.12.2016
08:46:33
Да

Kreizo
07.12.2016
08:47:06
const isDisabled = state.schedules.length === 0 ? 'button_out_of_call disabled' : 'button_out_of_call'

Admin
ERROR: S client not available

Kreizo
07.12.2016
08:47:11
а так лучше ?

Дмитрий
07.12.2016
08:47:36
Суть не в redux-act, конечно

Сергей
07.12.2016
08:48:22
const isDisabled = state.schedules.length === 0 ? 'button_out_of_call disabled' : 'button_out_of_call'
const isDisabled = state.schedules.length === 0 const className = isDisabled ? 'button_out_of_call disabled' : 'button_out_of_call'

а вообще есть npmjs.com/classnames

Дмитрий
07.12.2016
08:48:55
Как без classnames жить вообще)

Сергей
07.12.2016
08:49:25
ну, меня смущает ORDER_SHOW_PLACE_CONFIRM и ORDER_HIDE_PLACE_CONFIRM
https://gist.github.com/LestaD/0ed933aa7174ae139dd6eb6016975119 6 строк и не нужен redux-act

Дмитрий
07.12.2016
08:49:56
Не, я ж говорю, суть не в redux-act, у меня просто код такой, я же его не выпилю теперь)

Сергей
07.12.2016
08:50:13
Дмитрий
07.12.2016
08:51:12
Суть в том, что к константам я обращаюсь через неймспейсы) Экшн order —> import { ORDER } from 'action' ORDER.SHOW_PLACE и погнал

Google
Сергей
07.12.2016
08:51:56
а у нас экшены и редюсер в одном месте так что константы больше нигде не нужны

Pavel
07.12.2016
08:55:00
Облегчили написание констант, а апи целиком пишете

А вообще redux ducks каеф

Сергей
07.12.2016
08:55:34
Облегчили написание констант, а апи целиком пишете
сам видишь комменты, там пока неразбериха с урлами, поэтому пока не устаканится не выносим)

Kir
07.12.2016
09:03:08
работал кто нибуть с cloudinary ?

Сергей
07.12.2016
09:06:35
так а зачем ещё редюсер?))

Дмитрий
07.12.2016
09:07:36
Ну в принципе это можно в одну функцию уместить)

Но тогда ide не будет понимать что происходит, это минус

Сергей
07.12.2016
09:08:13
Ну в принципе это можно в одну функцию уместить)
впринципе можно и экшн один юзать)

Дмитрий
07.12.2016
09:08:24
ну да

Сергей
07.12.2016
09:08:32
как яндекс мапс

Ilya
07.12.2016
09:08:55
нет, не надо, только не это.

Дмитрий
07.12.2016
09:09:12
Не

redux-act сократит это до объекта с названиями пропертей

Сергей
07.12.2016
09:10:27
зачем this.extend?

S
07.12.2016
09:10:28
редьюсеров тогда писать вообще не надо, но и контроль над экшенами остается

Сергей
07.12.2016
09:11:22
редьюсеров тогда писать вообще не надо, но и контроль над экшенами остается
почему просто не возвращать новый стейт? чистые функции, все дела

а это что-то странное

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