
Vladimir
04.08.2016
17:55:56
Типа флаг выставлять needScroll?

Ilia
04.08.2016
17:56:06
Для реакта если я правильно понял обязательным является подключенный сервер?

Ilya
04.08.2016
17:56:30
Что?
Реакт это библиотека для вьюх. Зачем ей сервер?

Google

Konstantin
04.08.2016
17:57:05

Ilia
04.08.2016
17:58:45
ну я по документации подключил реакт.джс и реакт-дом.джс
все-равно не выводит хелло ворлд

Ilya
04.08.2016
17:58:58
Ммм.
Там для jsx нужен транспайлер.
А так, посмотри как делать на чистом js.
Jsx это сахар.

Anton
04.08.2016
17:59:58
Ну не обязательно, я думаю, что самый топовый вариант учить рекат - это по их официальному туториалу

Ilia
04.08.2016
18:01:11
у меня он жалуется на синтаксис.
пример взял с офф туториала

Ilya
04.08.2016
18:01:28
А что говорит?

Ilia
04.08.2016
18:02:16
Uncaught SyntaxError: Unexpected token <

Ilya
04.08.2016
18:03:50

Google

Ilya
04.08.2016
18:03:54
Жалуется он на jsx, его надо обрабатывать.
Вот тут утилза, которая может тебе по бырому сделать бойлерпдейт.
Чтобы играться как хочешь и

Vladimir
04.08.2016
18:04:58

Ilia
04.08.2016
18:05:20

Ilya
04.08.2016
18:06:15

Konstantin
04.08.2016
18:06:20

Vladimir
04.08.2016
18:31:39
Ну мало ли, я потому и спрашиваю:)


Slava
04.08.2016
19:23:28
Ребят, всем привет еще раз. Я опять с тупыми вопросами =)
Начал новый проект на react+redux+router. В прошлом вроде разобрался и все работало. В этом не получается. А не работает одно: не ререндерит при обновлении в сторе редуксовом.
Troubleshooting на редуксе смотрел:
1. Never mutate reducer arguments
case Action.LIST_LINKS: {
var newState = Object.assign({}, state, {
links: action.parameter
});
console.log(newState)
return newState;
} break;
2. Don’t forget to call dispatch(action)
export function listUsefulLinks() {
var action = usefulLinksActions.listLinks(links);
store.dispatch(action);
return action;
3. Make sure mapStateToProps is correct
function mapStateToProps(state) {
const props = {
usefulLinks: state.usefulLinks
};
return props;
}
редьюсеры:
const reducers = {
browser: responsiveStateReducer,
usefulLinks: require('../reducers/usefulLinks.js')
};
module.exports = combineReducers(reducers);
При этом данные из стора в initialState которые отображает, но при обновлении их в сторе не ререндерит. Куда еще копнуть?


Ilya
04.08.2016
19:31:15
Проект закрытый?


Slava
04.08.2016
19:35:26
Блин, заработало
Только отписал сюда =)
Осталось понять почему не работало =)
Конфигурировал стор по одной из статей:
store.js
const redux = require('redux');
const reducers = require('../reducers');
module.exports = function(initialState) {
if (module.hot) {
// Enable Webpack hot module replacement for reducers
module.hot.accept('../reducers', () => {
const nextReducer = require('../reducers')
store.replaceReducer(nextReducer)
})
}
return store
}
Подключал как:
import configureStore from './stores';
const store = configureStore();
Отработало когда сделал как обычно:
store.js
const store = redux.createStore(reducers);
export default store;
Подключение:
import store from './stores';
Но в общем понял, спаисбо. Видимо нужна была "уточка" чтобы дойти
А вы диспатчите экшены прям в компонентах или выносите это куда-то в слой апи?
У меня как:
есть директория с экшенами:
export function listLinks(parameter) {
return { type: LIST_LINKS, parameter };
};
есть директория с апи:
import store from '';
export function listUsefulLinks() {
var action = usefulLinksActions.listLinks(links);
store.dispatch(action);
return action;
}
А в компоненте просто дергаю listUsefulLinks()
Но в туториале по редуксу все совсем по другому:
Там везде возвращаются функции и если честно, у меня немного мозг рвет от того как там реализовано в примере RedditApi
http://redux.js.org/docs/advanced/ExampleRedditAPI.html
Вот например есть там containers/AsyncApp.js
componentDidMount() {
const { dispatch, selectedSubreddit } = this.props
dispatch(fetchPostsIfNeeded(selectedSubreddit))
}
Откуда в props dispatch?


Ilya
04.08.2016
19:58:37
Эт норма.

Google

Ilya
04.08.2016
19:59:10
Есть экшены, как ты их диспатчишь, это твое дело. Экшены уходят, редюсер редюсит, и все отлично.
Ну, на самом деле все немного сложнее.

Lazarev
04.08.2016
20:02:16
dispatch берется когда компонент обараичвается в connect
export default connect(mapStateToProps)(AsyncApp)

Slava
04.08.2016
20:03:13
Т.е. при коннекте в пропрсы всегда добавляется функция dispatch?

Lazarev
04.08.2016
20:03:18
поскольку тут не передан второй параметр - mapDispatchToProps, то вместо него передается дефолтный: dispatch => ({ dispatch })
нет
если ты не указал mapDispatchToProps, или если ты указал mapDispatchToProps и там пробросил dispatch
export default connect(mapStateToProps)(AsyncApp) === export default connect(mapStateToProps, dispatch => ({ dispatch }))(AsyncApp)

Slava
04.08.2016
20:05:13
О! Вот это уже понятно!

Lazarev
04.08.2016
20:05:55
:)

Slava
04.08.2016
20:10:11
Хм,
т.е. описав:
function mapDispatchToProps(dispatch) {
const actions = {listLinks: require('../actions/usefulLinks/listLinks.js') };
const actionMap = { actions: bindActionCreators(actions, dispatch) };
return actionMap;
}
export default connect(mapStateToProps, mapDispatchToProps)(Home);
Я смогу использовать примерно так:
this.props.actions.dispatch(this.props.actions.listLinks)
?

Art
04.08.2016
20:11:02
Тут недавно писали где-то, мол умным людям лучше меньше общаться со смертными, иначе ждёт деградация. Вот читаю этот чатик и чувствую, как тупею.

Ches
04.08.2016
20:12:25
))
подскажите почему у меня componentWillMount не загружает внешние данные до рендера компонента?)
там через action
все же должно работать?

Paul
04.08.2016
20:14:44
нет

Ches
04.08.2016
20:17:49
почему?)

Paul
04.08.2016
20:18:46
Построение дерева реактовских элементов и последующий рендеринг - это синхронные операции.
Они не будут ждать асинхронных сайд-эффектов

Google

Ches
04.08.2016
20:19:44
но у меня thunk подключен
тут интереснее момент получился
<button onClick={this.props.loadDate}> Here </button>
{this.props.loadDate}
почему при клике все работает, а во втором случае нет, хотя идет друг за другом

Paul
04.08.2016
20:21:51
Да без разницы что у тебя подключено, lifecycle реакта от этого не меняется
{this.props.loadDate}
Что это?)

Leonid
04.08.2016
20:33:41

Admin
ERROR: S client not available

Art
04.08.2016
20:35:07

Юра
04.08.2016
20:40:50
Подскажите сильно ли большая разница между версиями React 0.14.3 и 15.3.0

Paul
04.08.2016
20:44:07
https://github.com/facebook/react/compare/v0.14.3...v15.3.0

Ярослав
04.08.2016
20:45:00
обогнал )))

Tom
04.08.2016
20:50:32
Ребята привет, кто React DnD юзал?

Ilya
04.08.2016
21:18:19
Я немного.
Реордеринг фоток делал в списке.

Ivan
04.08.2016
21:46:17
А вообще читай тут https://github.com/facebook/react/blob/master/CHANGELOG.md

roma
05.08.2016
00:10:50
Ребят, такой вопрос, мб кто подскажет http://stackoverflow.com/questions/38779219/how-to-proper-manage-redux-state
в скупе еще спрашивал, но чета не подсказали

Art
05.08.2016
04:16:22
> skype
Я знаю решение.
Перестать юзать скайп.

Google

Art
05.08.2016
04:16:33
И хуй-пизда.
Тогда все будет нормалды.

Alex
05.08.2016
06:52:26

Ilya
05.08.2016
06:55:49
Вот воопрос, а кто-нибудь тут ещё сидит в дискордовском Reactiflux?
Последний раз я туда заходил месяца 4 назад, там всё печально было.
Куча людей, куча каналов, скорость ответа от часа до нескольких дней.

Denis
05.08.2016
06:59:13
@react_js - лучшая группа на земле :) ура

Ilya
05.08.2016
07:01:11
Лучшая русскоговорящая это точно.

Alex
05.08.2016
07:03:09
Зачем то сообщения в новом телеграмме скруглили ?

Ptench?
05.08.2016
07:11:50

Yevhenii
05.08.2016
07:13:48

Alexey
05.08.2016
07:15:47
Проблема в том, что опять горы кода лопатить
Вопрос со скроллом интересный и меня тоже волнует, так как хорошего решения не нашел еще. А задача для формочек актуальна была. В первой итерации решили делать на уровне компонента scrollIntoView с соотв. проверкой в componentDidUpdate

Dimitriy
05.08.2016
07:36:55
Всем привет!
Ребята, нужно мнение знатков, если есть опыт работы с картами, подскажите пожалуйста.
Использую абсолютно шаблонный код
import React, { Component, PropTypes } from 'react'
import ReactDOM from 'react-dom'
import L from 'leaflet'
class MapPage extends Component {
componentDidMount() {
this.map();
}
map() {
var map = L.map('map').setView([51.505, -0.09], 13);
L.tileLayer('http://{s}.tile.osm.org/{z}/{x}/{y}.png', {
attribution: '© <a href="http://osm.org/copyright">OpenStreetMap</a> contributors'
}).addTo(map);
}
render() {
return <div id="map">xx</div>
}
}
А получаю странную карту на выходе, и такое уже не с первой картой.

Lazarev
05.08.2016
07:39:54
Есть react-leaflet библиотека для удобства

Ptench?
05.08.2016
07:39:59