@react_js

Страница 607 из 5115
Aleksey
06.11.2016
11:29:32
Почему-то теперь в дочернем не видит функцию, которая через mapDispatchToProps передается. Нужно ли в дочернем опрелять свойство через PropTypes?

[Anonymous]
06.11.2016
11:32:39
PropTypes, это проверка на тип

Aleksey
06.11.2016
11:33:45
Все равно не могу понять, почему не происходит render

Google
Alex
06.11.2016
11:34:09
@ZeroBias я все настроил, но почему-то Intellisense срабатывает только тогда, когда файл с тайпингами открыт. Закрываю - автодополнение пропадает

и jsconfig есть

Aleksey
06.11.2016
11:34:23
Присоеденил, state изменяется

const mapStateToProps = store => ({ state: store.pageState }) const mapDispatchToProps = (dispatch) => ({ onChangeTitle: (text) => { dispatch(changeTitle(text)) } }) export default connect(mapStateToProps, mapDispatchToProps)(HeaderLayout);

[Anonymous]
06.11.2016
11:35:56
если данные не изменились, он не будет рендериться

Дмитрий
06.11.2016
11:39:09
и jsconfig есть
{ "compilerOptions": { "target": "es2015", "module": "commonjs", "allowSyntheticDefaultImports": true, "pretty": true }, "exclude": [ "node_modules", "bower_components" ] }

Такой?

Плюс какая у тебя версия vscode и typescript

Глобальная

Aleksey
06.11.2016
11:39:59
В том и дело, что данные изменились, потому что я подписался state.subscribe и выводится новый state

Alex
06.11.2016
11:40:21
Дмитрий
06.11.2016
11:40:43
Ты какой то быстрый, неужели и проект уже перезагрузил?))

Google
Alex
06.11.2016
11:40:54
ага

[Anonymous]
06.11.2016
11:41:04
В том и дело, что данные изменились, потому что я подписался state.subscribe и выводится новый state
они могут при сравнении быть одинаковыми с прошлым(до запуска обновления)

Дмитрий
06.11.2016
11:41:06
Плюс какая у тебя версия vscode и typescript

Alex
06.11.2016
11:41:40
vscode 1.7.1 typescript не ставил

@ZeroBias а вот вообще отвалился теперь автокомплит

Дмитрий
06.11.2016
11:49:37
vscode 1.7.1 typescript не ставил
Тогда логично в принципе)

Alex
06.11.2016
11:49:54
поставил typescript 2.0.6, ничего не включилось :)

глобально

Дмитрий
06.11.2016
11:52:14
Фиг знает, короче что-то ты точно делаешь не так) На расстоянии сложно так определить

Aleksey
06.11.2016
11:53:26
Так я же в reducer новый state возвращаю с другим свойством и store.subscribe(()=>{ console.log(store.getState()); }) возвращает разные состояния

они могут при сравнении быть одинаковыми с прошлым(до запуска обновления)
Так я же в reducer новый state возвращаю с другим свойством и store.subscribe(()=>{ console.log(store.getState()); }) возвращает разные состояния

import React, { Component } from 'react'; import { connect } from 'react-redux' class Title extends Component { render() { return ( <div className="title"> {this.props.state.header.title} </div> ); } } const mapStateToProps = store => ({ state: store.pageState }) export default connect(mapStateToProps)(Title);

Вот компонент

Может я что не понимаю, сижу уже дня 3

Alex
06.11.2016
12:01:45
@ZeroBias да, я устанавливал тайпинги в папку .vscode, а оттуда не подтягивалось почему-то)

А есть способ тайпинги не ставить в проект? Чтобы не менять gitignore

Aleksey
06.11.2016
12:03:38
А есть способ принудительно перерисовать компоненты?

Дмитрий
06.11.2016
12:04:06
Как можно вообще поставить тайпинги в .vscode??))

Alex
06.11.2016
12:04:23
да это расширение ставило)))

Dreamerinnoise
06.11.2016
12:04:56
сноси его к чертям

Google
Дмитрий
06.11.2016
12:05:26
Они по дефолту ставятся в typings в корне проекта, причем даже с раширениями так

Alex
06.11.2016
12:05:26
уже

Дмитрий
06.11.2016
12:05:43
А из .vscode логично что ничего не работает))

Alex
06.11.2016
12:05:46
у меня было тупое расширение))))

Дмитрий
06.11.2016
12:06:40
А есть способ тайпинги не ставить в проект? Чтобы не менять gitignore
Ну вот сейчас @types будут в node_modules, а пока +1 строчка в gitignore

[Anonymous]
06.11.2016
12:08:46
А есть способ принудительно перерисовать компоненты?
почитай про пропсы и стейт и посмотри лайфцайкл компонента

Name
06.11.2016
12:09:00
Может я что не понимаю, сижу уже дня 3
покажи код изменения state

Aleksey
06.11.2016
12:09:44
case CHANGE_TITLE: { var newStore = state; newStore.header.title = action.title; return newStore; }

покажи код изменения state
case CHANGE_TITLE: { var newStore = state; newStore.header.title = action.title; return newStore; }

export const changeTitle = text => ({ type: CHANGE_TITLE, title: text })

Вот action

Name
06.11.2016
12:12:42
надо не мутировать, а возвращать новые копии, иначе стейт будет считаться одинаковым

почитай документацию по реакту и редуксу, её там немного, а будет потом значительно проще

Alex
06.11.2016
12:13:42
@ZeroBias слушай, а есть способ настроить VSCode так, чтобы вместо треугольников у папок были иконки?) + чтобы то, что в gitignore показывалось как скрытое в проводнике?)))

Дмитрий
06.11.2016
12:14:28
Пак иконок наверное другой нужен

Alex
06.11.2016
12:14:55
не, к папкам все равно не встают(

Alex
06.11.2016
12:15:38
сейчас все их перерываю

Дмитрий
06.11.2016
12:16:03
"files.exclude": { "**/.git": true, "**/.vs": true, "**/.DS_Store": true, "**/.idea": true, "**/node_modules":true }, "files.watcherExclude": { ".vs": true, "node_modules": true, "typings": true }, "search.exclude": { ".vs": true, ".vscode": true, ".idea": true, "typings": true, "node_modules":true }

Google
[Anonymous]
06.11.2016
12:16:09
я просто классику люблю, по этому оставил классику.

сейчас все их перерываю
ты смотри не конфиг.

Дмитрий
06.11.2016
12:16:27
В settings.json у меня так

Dreamerinnoise
06.11.2016
12:17:17
пользуюсь @types полёт нормальный

Дмитрий
06.11.2016
12:17:50
files.exclude выкидывает из списка папок, watcher уменьшает нагрузку на встроенный ватчер, регулярно сканирующий проект, search убирает из результатов поиска

Name
06.11.2016
12:18:59
Думаешь дело в этом?
инфа сотка https://facebook.github.io/react/docs/state-and-lifecycle.html#do-not-modify-state-directly http://redux.js.org/docs/basics/Reducers.html#handling-actions

Aleksey
06.11.2016
12:20:24
Я это уже все перечитал, просто через Object.assign или через ... не могу создать то, что мне нужно

Кстати да, redux devtools пишет states are equal

Подскажите, как мне создать новый state на основе старого с измененным свойством?

Aleksey
06.11.2016
12:23:47
Object.assign({}, state, {title: action.title}) так он просто в конец добавляет свойство, в мне нужно именно изменить state.header.title

Что-то туплю на этом месте

Alex
06.11.2016
12:27:29
А есть в VSCode MiniMap?

[Anonymous]
06.11.2016
12:29:14
Vladimir
06.11.2016
12:31:04
И должно выйти примерно так: return update(state, {header, {title,{$set: action.payload.title}}});

Alex
06.11.2016
12:31:26
@hihideaki и где найти?)

Aleksey
06.11.2016
12:34:25
Спасибо всеи огромное!!!! Это то, чего мне не хватало!!! @Name @hihideaki @AsTex

Спасибо))

Google
[Anonymous]
06.11.2016
12:37:36
@hihideaki и где найти?)
я не люблю минимапы, не знаю, но видел где-то

Dreamerinnoise
06.11.2016
12:41:55
https://github.com/Microsoft/vscode/issues/4865

[Anonymous]
06.11.2016
12:43:05
*убегаю*

Максим
06.11.2016
12:45:08
Рекомендую "Уроки JavaScript" https://play.google.com/store/apps/details?id=com.reedbook.jstutorial

Andrey
06.11.2016
12:45:58
*убегаю*
*догоняют*

Никита
06.11.2016
14:15:06
Всем привет. Подскажите как пользоваться redux-form и connect? Что должен экспортить контейнер

Vladimir
06.11.2016
16:11:41
А кто-то сталкивался с проблемой рендера измененного массива?

code4aman
06.11.2016
16:16:05
только если с key косяк)

Vladimir
06.11.2016
16:17:03
Хм

Именно с ним и был косяк

Я два часа пытался понять, что за херня происходит, а ему, сука, ключа не хватало

Sander
06.11.2016
16:39:28
?

code4aman
06.11.2016
16:39:36
ворнинги должны были сыпаться, хотя б на изменении

Kreizo
06.11.2016
16:42:10
ребят подскажите как пофиксить блик при рендеринге

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