То же имя для родительского и дочернего тега в JSX дает неопределенное - PullRequest
0 голосов
/ 05 февраля 2020
class Button extends Component
{
    changeHandler = (event)=>{
        console.log(event.target.name);
    }
    render() {
        return (
            <div>
                <button type="button" name="text" className="btn btn-primary" onClick={(event)=>this.changeHandler(event)}>
                    <i className="fas fa-plus" name="text" onClick={(event)=>this.changeHandler(event)}></i>
                </button>
            </div>
        );
    }
}

Я присвоил одно и то же имя кнопке (Bootstrap) и значку (используя шрифт Awesome), и когда я нажимаю на значок, консоль выдает значение как неопределенное, но дает значение имени в случае нажатия кнопки .

1 Ответ

0 голосов
/ 05 февраля 2020

Свойство name существует только для определенных элементов DOM. <button> имеет свойство name, а <i> - нет.

https://developer.mozilla.org/en-US/docs/Web/API/Element/name

Если вы хотите получить атрибут имени для <i>, вы ' Вам придется использовать getAttribute("name").

В вашем случае это будет event.target.getAttribute("name").

...