Разработка на React-е 
		
		
		
		Добрый вечер, форумчане) 
	Подскажите плиз, сталкиваюсь всегда с одной проблемой...при проверке тестового задания, мне указывают на то что оставляю хэндлеры в разметке... понимаю что этого не должно быть, но как можно кроме этого способа и кроме AddEventListenerа отлавливать события на элементах??  | 
	
		
 Вот так вешаются события на элементы в реакте: 
	
<div onClick={тут функция обработчик}></div>
Я правильно вопрос понял?  | 
	
		
 а какие еще есть варианты? этот способ я и использую...говорят что некорректно использовать хэндлеры в разметке 
	 | 
	
		
 Вот такую запись наверное некорректной посчитали 
	
<div onclick={()=>{ тут сама функция }></div>
скорее всего имели ввиду, что функцию надо писать в компоненте и привязывать ее: 
<div onClick={this.onClickHandler.bind(this)}></div>
  или, если ее вне компонента поставил 
<div onClick={onClickHandler()}></div>
 | 
	
		
 а чем плохи EventListener-ы добавленные в компоненте после загрузки DOMа ? 
	 | 
	
		
 Тем, что идет работа с DOM напрямую. В реакте виртуальный DOM и приложение должно быть в курсе всех обработчиков и действий с элементами, для корректного рендера. Вообще работа с ДОМом напрямую - это антипаттерн и этого надо избегать. 
	 | 
	
		
 спасибо за совет, буду переучиваться))  а еще одно замечание было. которое я если честно вообще не понял... писал приложение на react+redux, подключая компоненты контейнеры через connect... мне было замечание что "гружу данные напрямую в connect"... а как иначе?? синтакссис был примерно такой:   
	const UserLogin = connect( mapStateToProps, mapDispatchToProps )(UserInfo);  | 
	
		
 Правильно делать так (если через декоратор) 
	
function mapStateToProps(state){
тут какие-то данные из state
}
function mapDispatchToProps(dispatch){
тут какие-то экшены
}
@connect(mapStateToProps, mapDispatchToProps)
тут сам компонент
 | 
	
		
 Цитата: 
	
 тут сам компонент : контейнер или вьюха?  | 
	
		
 Контейнер. В нем всё, что было вытащено из этих двух функций будет доступно в props. Собственно connect для того и нужен, чтобы прокидывать что нибудь в компонент. Чтобы стало более понятно, вот типичная структра реакт компонента в редакс: 
	
import React, { Component, PropTypes } from 'react';
import { connect } from 'react-redux';
const mapStateToProps = state => {
    return {
        item: state.item,
        color: state.color
    };
};
const mapDispatchToProps = dispatch => {
    return {
        setItemAndColor: (value)=>dispatch(setItemAndColor(value))
    };
};
@connect(mapStateToProps, mapDispatchToProps)
class MyOwnComponent extends Component {
    render() {
        const { item, color, setItemAndColor } = this.props;
        return (
            <div></div>
        );
    }
}
export default MyOwnComponent;
 | 
| Часовой пояс GMT +3, время: 12:30. |