These are chat archives for dev-ua/reactjs

1st
Jan 2016
vasivas
@vasivas
Jan 01 2016 12:18
всех с наступившим, живые есть?
    a_clickHandler(event){
        event.preventDefault();
    }

    render(){
        return <a href="/" onClick={this.a_clickHandler}>some text</a>;
    }
почему preventDefault не срабатывает?
Maxim
@stigmat4j
Jan 01 2016 12:19
С наступившим! С температурой 39- это живой?))
roma
@milushov
Jan 01 2016 12:20
вангую что потому что ивент синтетический
vasivas
@vasivas
Jan 01 2016 12:20
Пока мозги не закипели считается живым.
Illia Seheda
@ALF-er
Jan 01 2016 12:20
этот код должен работать.
vasivas
@vasivas
Jan 01 2016 12:20
@milushov синтетический, это реактовский?
roma
@milushov
Jan 01 2016 12:20
да
Illia Seheda
@ALF-er
Jan 01 2016 12:21
как проявляется "не срабатывает"?
roma
@milushov
Jan 01 2016 12:21
а
vasivas
@vasivas
Jan 01 2016 12:21
@ALF-er работал, я когда пару недель назад его отложил в сторону и пошел сервер писать, он работал, а темепь нет...
roma
@milushov
Jan 01 2016 12:21
я знаю
его в this нет
в конструкторе добавь хандлер в this
Illia Seheda
@ALF-er
Jan 01 2016 12:21
кого?
хендлер?
roma
@milushov
Jan 01 2016 12:22
да
vasivas
@vasivas
Jan 01 2016 12:22
@ALF-er не срабатывает проявляется перезагрузкой страницы..
Illia Seheda
@ALF-er
Jan 01 2016 12:22
есть он в this. Просто в нём this - это не компонент
vasivas
@vasivas
Jan 01 2016 12:22
export default class Link extends Component{
    constructor(props){
        super(props)
    }

    static propTypes = {
        link: React.PropTypes.string
    };

    static a_clickHandler(event){
        event.preventDefault();

        Facade.ToggleRouteDispatcherSingleton.emit(Event.CHANGE, {route: event.target.pathname});
    }

    render(){
        return <a href={this.props.link} onClick={Link.a_clickHandler}>{this.props.children}</a>;
    }
}
djn htfkmysq rjl
вот реальный код
Illia Seheda
@ALF-er
Jan 01 2016 12:23
static зачем?
vasivas
@vasivas
Jan 01 2016 12:24
чтобы на все линки один метод был... я просто не знаю точно как реакт методы переопределяет. Если прототип, то метод же тоже будет один на все инстенсы. Но это с объектами, фиг его знает как классы он делает
и в доках на свойства статик
Illia Seheda
@ALF-er
Jan 01 2016 12:26
с хендлерами лучше так не поступать
так попробуй
vasivas
@vasivas
Jan 01 2016 12:32
в проекте у меня что-то случилось, пойду разбираться. Я просто уверен что работало, я бы не за что не отложил недоделанное..
vasivas
@vasivas
Jan 01 2016 13:44
фух, разобрался. Несколько папок перенес из другого проекта и забыл роутинг для import прописать, а FF почему-то ошибки не показывало. Решил попробовать в хроме и там сразу тысячу ошибок вывалилось..
vasivas
@vasivas
Jan 01 2016 15:50
продублирую вопрос - в ноде можно составлять что-то между routes и alias? Типа чтобы я создал файл /some-package/some-file.js, а затем его импортировать из любого места проекта как require('some-file'); ?
или только свой модуль писать?
vasivas
@vasivas
Jan 01 2016 18:28
почему в этом примере клик в родителе не проходит? http://jsbin.com/xarabobiji/1/edit?js,console,output
что пример сломался...
vasivas
@vasivas
Jan 01 2016 18:35
This message was deleted
vasivas
@vasivas
Jan 01 2016 19:23
в гугле нашел такой пример, он правильный? Или это можно ещё более правильней сделать?
class Button extends React.Component{
    render(){
        return <button onClick={this.props.onClick}>{this.props.children}</button>;
    }
}

class ButtonGroup extends React.Component{
    button_clickHandler(event){
        console.log("ButtonGroup");
    }

    render(){
        return <Button onClick={this.button_clickHandler}>cklick</Button>;
    }
}

ReactDOM.render(<ButtonGroup></ButtonGroup>, document.getElementById("root"));