@react_js

Страница 4217 из 5115
Сергей
18.06.2018
15:09:27
Дмитрий
18.06.2018
15:09:28


Сергей
18.06.2018
15:09:33
А. Лол

Ну да, это точно
Пока что я не очень понимаю где нужно описывать все юзы Которые запросы делают

Google
CFFTRP
18.06.2018
15:10:50
А как в примере dispatch доступен в самом компоненте? class UserComponent extends React.Component { ... onSomeButtonClicked() { const { userId, dispatch } = this.props dispatch({type: 'USER_FETCH_REQUESTED', payload: {userId}}) } ... }

Дмитрий
18.06.2018
15:11:02
Пока что я не очень понимаю где нужно описывать все юзы Которые запросы делают
Я тоже. Реакт не предусматривает место для этого, сейчас просто кладём в featurename/store/effect.js

CFFTRP
18.06.2018
15:11:48
ну, не получается dispatch внутри использовать

пишет undefined

Alex
18.06.2018
15:12:02
ну, не получается dispatch внутри использовать
ну в примере законекчен, у тебя нет

CFFTRP
18.06.2018
15:12:05
всё через коннент

export default connect(mapStateToProps, mapDispatchToProps)(Cards)

Cenator
18.06.2018
15:12:17
пишет undefined
сделай mapsDispatchToProps = null

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

CFFTRP
18.06.2018
15:12:58
сделай mapsDispatchToProps = null
хм. Так в нем нужные методы

const mapDispatchToProps = { loadCards, cardClick }

Google
Alex
18.06.2018
15:13:14
хм. Так в нем нужные методы
тогда прокидывай вручную

Сергей
18.06.2018
15:13:32
Ну вроде ок

Alex
18.06.2018
15:13:42
const mapDispatchToProps = { loadCards, cardClick }
вообще если так, то зачем диспатч? вызывай методы напрямую

Alex
18.06.2018
15:13:57
нууу, это сага
нет разницы

CFFTRP
18.06.2018
15:13:59
без санок

получается такая херня

при клике должен срабаывать cardClick = () => { return {type: XXX} }

прокидываю в пропсы, он возвращает объект напрямую

Cenator
18.06.2018
15:14:53
const mapDispatchToProps = { loadCards, cardClick }
import { loadCards } from 'loadCards' render() { return <div onClick={this.props.dispatch(loadCards())} /> } connect(mapStateToProps)(Cards)

Alex
18.06.2018
15:15:15
при клике должен срабаывать cardClick = () => { return {type: XXX} }
mapDispatchToProps оборачивает твой экшен криейтор в диспатч, тебе нужно его просто вызвать

или юзай как выше показали

CFFTRP
18.06.2018
15:16:17
я просто всегда action creators юзал с санками. То есть, диспатчели всегда экшены

а вот так диспатчить вручную не привык вообще

onClick={ this.props.dispatch(cardClick(card)) } this.props.dispatch is not a function const mapDispatchToProps = { loadCards, cardClick }

Cenator
18.06.2018
15:17:53
mdtp сделан чтобы тупа оборачивать в диспач, это можно делать внутри компоненты

если у вас конечно нет фантазий вроде реюзания компонента без ридакса

Google
Cenator
18.06.2018
15:19:08
https://medium.com/родионов-и-разработка/правила-жизни-с-редаксом-6a95feefcf29

Дмитрий
18.06.2018
15:20:21
Не импортнул — будешь иметь мок. И можешь тестить
Ага, идея именно такая. Так же, ты можешь получить текущую функцию, если нужно: effect.use.getCurrent()

CFFTRP
18.06.2018
15:20:29
onClick={this.props.dispatch(cardClick(card))} .... export default connect(mapStateToProps)(Cards) Expected onClick listener to be a function, instead got a value of object type.

CFFTRP
18.06.2018
15:20:56
тю

Cenator
18.06.2018
15:20:58
я ошибся немного да

CFFTRP
18.06.2018
15:20:58
затупил

Maksim
18.06.2018
15:22:43
мб с примером будет яснее что я имею в виду)

У меня есть 2 компонента, допустим, A и B, есть еще 3ий компонент - C, который состоит из A и B. Компоненты A и B протипизированы, нужно ли мне компонент C типизировать тоже так же как A и B? Ему же будут приходить в пропсы данные, которые будут передаваться в A и B. Например: A.propTypes = { className: PropTypes.string } B.propTypes = { className: PropTypes.string } Нужно ли делать в C так же? C.propTypes = { className: PropTypes.string } Т.е. в C будет приходить className и передаваться в A и B.

Oleh
18.06.2018
15:28:50
Всем привет, такой вопрос, как вы справляетесь с редакс екшинами на ивент mouseMove, у меня редакс девтулз сразу виснет?

Cenator
18.06.2018
15:29:04
debounce/throttle

Дмитрий
18.06.2018
15:30:25
Всем привет, такой вопрос, как вы справляетесь с редакс екшинами на ивент mouseMove, у меня редакс девтулз сразу виснет?
По хорошему нужно игнорить эти эвенты в нём, у него сериализация работает ппц медленно

Oleh
18.06.2018
15:31:02
А как их игнорить если не секрет?

Дмитрий
18.06.2018
15:31:17
Ой, у него чёт тысяча вариантов была, я просто помню что можно и всё))

Глянь на гитхабе

CFFTRP
18.06.2018
15:31:54
Oleh
18.06.2018
15:31:56
Оке, ща поищу

Спасибо)

Google
CFFTRP
18.06.2018
15:32:44
я просто начал с action creators и как-то они мне куда удобнее показались, чем создание экшенов, которые в свою очередь импортируют 1000 функций

которые просто возвращают объекты

Eugene
18.06.2018
15:33:49
Всем привет! Подскажите, плиз, юзаю jest + enzyme для снепшотов. Проблема в том, что снепшоты генерируются без стилей. Точнее, только с теми стилями, которые в. js файле. Для стилуса была либа, с которой просто делал вот так jestStylus(path.resolve(__dirname, ‘path-to-.styl)); Сейчас перешел на scss и похожей либы нет. Без стилей снепшот бесполезен. Куда копать, чтобы их подключить?

Dmitry
18.06.2018
15:36:45
Посмотри redux-symbiote
когда типы для него будут ?)

Cenator
18.06.2018
15:37:22
Орнул)) Не в бровь а в глаз)
переписывание на другой стейт менеджер это довольно редкий кейс, так што лишнюю работу не надо делать

Admin
ERROR: S client not available

Сергей
18.06.2018
15:37:27
когда типы для него будут ?)
Скорее всего будет без вывода. Ибо это писалось jsfirst Но я попробую

Dmitry
18.06.2018
15:37:43
ну типа, даже если без типизации проект, то подсказочки это приятно

а так почти все на корню убиваешь

Дмитрий
18.06.2018
15:39:30
переписывание на другой стейт менеджер это довольно редкий кейс, так што лишнюю работу не надо делать
Не, я про то что с редаксом всегда так и получалось) Ожидания vs реальность

Сергей
18.06.2018
15:41:22
Спам?

Max
18.06.2018
15:42:05
Не не, подругу добавил)

Alex
18.06.2018
15:47:29


@sergeysova я думаю над таким апи для разделения бизнес логики

Сергей
18.06.2018
15:48:33
Страшненько

Классы декораторы

Мобх

Alex
18.06.2018
15:49:23
Страшненько
набросок, примерный, но суть в использовании сервисов для логики, и стейта который модифицируют сервисы

Google
Alex
18.06.2018
15:49:48
Классы декораторы
декораторы для DI, если его не юзать, можно и без декораторов

Igor
18.06.2018
15:50:02
выглядит как типичный проект на C#

Alex
18.06.2018
15:50:06
но тогда структура становится сложнее

Дмитрий
18.06.2018
15:50:23
У меня выходит так, что домены — это классы-сервисы, причём по сути уже сейчас

Дмитрий
18.06.2018
15:50:40
Но без декораторов))

Alex
18.06.2018
15:50:54
но, по всей видимости это то, чего не хватает для нормального разделения логики, состояния и view

Igor
18.06.2018
15:51:11
я недавно похожу штуку делал на unstated, только с типами в flow

ну и без роутов

на самом деле то что ты написал это и есть анстейтед

https://github.com/jamiebuilds/unstated

Alex
18.06.2018
15:52:57


я недавно похожу штуку делал на unstated, только с типами в flow
но я не про стейт, в контроле его может не быть, в нём могут быть только api реквесты, или вызовы фукнций из других сервисов

Igor
18.06.2018
15:54:25
ну можешь и не хранить стейт

тебе не запрещают

ну короч посмотрите анстейтед кто там от редукса хотел убежать В принципе тоже вариант

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