
from
28.12.2016
12:19:45

Aleh
28.12.2016
12:19:53
Так ясное дело, что я завишу от типов, а не конкретных классов
DIP все дела

MVP
28.12.2016
12:20:00

Google

from
28.12.2016
12:20:08
в компонент
который коннектим

code4aman
28.12.2016
12:20:36

Vladimir
28.12.2016
12:20:53
Ну так если TS дает возможность написать полный ООП код, почему им не пользоваться?(в рамках разумного)

MVP
28.12.2016
12:20:57
вот пример отсюда - https://css-tricks.com/learning-react-redux/

JiSeven
28.12.2016
12:21:06
Ребята, кто-нибудь пользуется Jest?

Aleh
28.12.2016
12:21:44

MVP
28.12.2016
12:21:49
this.props.users - это же свойство родителя?

Aleh
28.12.2016
12:21:56
Наличие интерфейсов никак ничего не меняет

MVP
28.12.2016
12:22:01
значит оно меняется при изменеии state ?

Aleh
28.12.2016
12:22:18

MVP
28.12.2016
12:22:39
то что там в child component - <UsersList>это не так важно сейчас

Google

MVP
28.12.2016
12:23:56
я вроде понимал но сейчас опять завис уже час гуглю все по кругу
react redux state props abramov router state props actions facebook map export default

Andrew
28.12.2016
12:26:18


MVP
28.12.2016
12:28:34
const shipementsViewStateReducer = function (state = {}, action) {
if (action.type === EVENTS.openUploadDialog) {
state.uploadDialogOpen = true;
}
if (action.type === EVENTS.closeUploadDialog) {
state.uploadDialogOpen = false;
}
потом в родителе я вызываю child - <UploadDialog open={this.props.uploadDialogOpen} onClose={() => this.props.onCloseClick()}/>
и в родителе же вызываю - const mapStateToProps = function (store) {
console.log('mapStateToProps', store.shipmentsView.uploadDialogOpen);
return {
uploadDialogOpen: store.shipmentsView.uploadDialogOpen
};
};
тоесть я типо this.props.uploadDialogOpen хочу чтобы поменялось когда поменялся store (state.uploadDialogOpen)
или я что-то упустил
оно даже меняется - то для этого (почему-то??) мне надо сходить на другую страницу - другой роут открыть - потом вернуться - тогда все отрабатыват
в root у меня вот такое нагромождение оберток, может это как то влияет -
<IntlProvider locale={APP_LANGUAGE} messages={this.state.translations}>
<Provider store={store}>
<MuiThemeProvider muiTheme={appTheme}>
<Router history={browserHistory}>
<Route path="/" component={Home}/>
<Route path="login" component={Login}/>
<Route path="/settings" component={Settings}/>
...


Andrew
28.12.2016
12:36:21
а где у тебя сохранение результата запроса?
где users хранятся?

MVP
28.12.2016
12:37:39
users это пример из статьи - я просто хочу показывать или скрывать модальный диалог (http://www.material-ui.com/#/components/dialog) из родителя

Дмитрий
28.12.2016
12:38:08

MVP
28.12.2016
12:38:10
для ётого использщую свойстов uploadDialogOpen

Дмитрий
28.12.2016
12:39:52
Ппц

MVP
28.12.2016
12:40:10
потому что *** этот реакт

(;¬_¬)
28.12.2016
12:40:25
ты просто не умеешь его готовить

Google

MVP
28.12.2016
12:40:38
пойду на stackoverflow накатаю вопрос, там разбирутся

Vladimir
28.12.2016
12:42:48
state.uploadDialogOpen = true;
Данные же иммутабельные должны быть

from
28.12.2016
12:43:33
пойду на stackoverflow накатаю вопрос, там разбирутся
лучше разберись с потоком данных в реакте
class SomeComponent extends React.Component {
render() {
return (
<AnotherComponent prop1="something" prop2="anything" />
);
}
}
prop1 и prop2 это пропсы для AnotherComponent
AnotherComponent изменить их не может, только считать

Vladimir
28.12.2016
12:43:59
вероятнее всего, при ре-рендеринге где-то проверяется, объект тот же - значит ничего ре-рендерить не надо

from
28.12.2016
12:44:01
В общем-то на этом можно и заканчивать ) реакт не требует месяцев вникания

MVP
28.12.2016
12:45:41
if (action.type === EVENTS.openUploadDialog) {
return Object.assign({}, state, { uploadDialogOpen: true });
}
решило все проблемы

Vladimir
28.12.2016
12:46:09
?

code4aman
28.12.2016
13:01:26

Sergey
28.12.2016
13:02:38

Sergei
28.12.2016
13:10:10
Господа, как лучше всего управляться webrtc потоками? В стор пихать же нельзя такое. У кого опыт с таким типом данных был?

Nikita
28.12.2016
13:34:49
Почему в стор не ок?)

Sergei
28.12.2016
13:37:26
В стейте не должно же быть что-то 'нечистое'

Nikita
28.12.2016
13:38:17
Кто сказал?
Скроллом норм напрямую из js управлять. Это сайдэффект. Что делать? Сжать зубы и писать код)
Или курсором к contenteditable

Vitaly
28.12.2016
13:43:11

Sergei
28.12.2016
13:44:06
Надо пояснить, что это аудиопоток, а не поток событий

Google

Sergei
28.12.2016
13:44:46
События я обрабатываю в саге
А вот что мне делать, когда я получаю аудиопоток я не знаю

Vitaly
28.12.2016
13:45:50
я про аудио/видео поток и говорю...
при дисконекте пира просто выпиливаешь айдишник из массива и обнуляешь его в объектике)

Sergei
28.12.2016
13:49:04
Хорошо, попробую так, спасибо

Andrew
28.12.2016
14:02:17

Eugene
28.12.2016
14:03:36

Eugeniy
28.12.2016
14:07:44

Eugene
28.12.2016
14:09:33

Admin
ERROR: S client not available

Denis
28.12.2016
14:11:25
можно писать компоненты в component.jsx а в index.js просто импорт/экспорт

Evjeni
28.12.2016
14:12:03

Eugeniy
28.12.2016
14:14:05
Да и какая разница? jsx, или js расширение? По-моему большенство пишут имено js расширение

Vitaly
28.12.2016
14:15:20
а HOC - это компонент? а если в нем нет jsx?

Roman
28.12.2016
14:21:27
Привет! Учу React. Начал изучать Redux. Вроде все неплохо, но не могу понять одного → когда использовать state, a когда store???

Dmitry ?
28.12.2016
14:25:10

Roman
28.12.2016
14:25:38

Eugene
28.12.2016
14:29:10
кто советует?
https://github.com/airbnb/javascript/tree/master/react#naming

Google

Vitaly
28.12.2016
14:30:34

Eugene
28.12.2016
14:30:36

Kost9in
28.12.2016
14:32:03

Vladimir
28.12.2016
14:32:10

Kost9in
28.12.2016
14:32:28

Vladimir
28.12.2016
14:32:41
Я не согласен
.jsx ?это вкусовщина

Adel
28.12.2016
14:33:37
скажем, less ты пишешь в less
хотя, с постцсс немного по другому дела обстоят

Vladimir
28.12.2016
14:34:19
Под новое расширение ещё придётся весь тулинг настроить и не ошибиться

Aleh
28.12.2016
14:34:24
мы складываем в .js то, что хотя бы находится на расмотрении tc39, xml подобное в jsx. Аналогично для .ts/.tsx
как говорили в 30ых в Германии "js для javascript!"

Vladimir
28.12.2016
14:35:17
Вы же не пишете es6 джаваскрипт в .es или .es6/7

Lupsick
28.12.2016
14:35:52
у каждого должен быть линтер
0/

Aleh
28.12.2016
14:36:05
хватает разделения на то, что может попасть в спеку и что не может

Ҫѐҏӗѫӑ
28.12.2016
14:36:21