1 Востаннє редагувалося Yola (22.08.2020 19:47:25)

Тема: React, врядкові обробники подій і передавання елементів у них

Маю обробник для onFocus. Хочу, щоб його викликало і туди передавало елемент, який я вкажу, не обов'язково поточний. Наприклад, я хочу змінити клас для div, що охоплює текстове поле. Використовую React. Обробник має бути врядковий. Як це зробити?

Пробував так:

<textarea id="bodyeditText" onFocus={onFocus(bodyeditText)} />

кидає виняток, що не знає, що таке bodyeditText.

2

Re: React, врядкові обробники подій і передавання елементів у них

Трішки був кулупав той реакт, ви дивились на ref ? (гугліть React refs)

Подякували: leofun01, Yola, koala3

3

Re: React, врядкові обробники подій і передавання елементів у них

reactjs ref атрибут.

Подякували: Yola, koala, FakiNyan3

4

Re: React, врядкові обробники подій і передавання елементів у них

Почитав, що ref - це сумнівний шлях. Тому передавав подію на гору через this.props і там вже встановлював кому треба.

    handleFocus() { this.props.onFocus(); }
    handleBlur() { this.props.onBlur(); }

    render() {
            ...
            onFocus={this.handleFocus} onBlur={this.handleBlur}
            ...
    handleFocus() { this.setState({ hasFocus: true }); }
    handleBlur() { this.setState({ hasFocus: false }); }
    render() {
                ...
                className={"outer block " + (this.state.hasFocus ? "block-active" : "block-inactive")}
                ...
    }
Подякували: leofun011