我想在console.log中获取标记的name属性(" mylocation")和console.log
目前尚未定义。
代码
class App extends React.Component {
constructor(props) {
super(props);
this.state = {
category: "myhome"
};
this.changeCategory = this.changeCategory.bind(this);
}
changeCategory (e, {name}) {
console.log(name);
this.setState({
category: this.state.name
});
console.log(name);
}
render() {
return(
<div className="app">
<div
name = "myhome"
onClick = {this.changeCategory}
>
HiHi
</div>
<div
name = "mylocation"
onClick = {this.changeCategory}
>
myLocation
</div>
</div>
);
}
}
export default App;
ReactDOM.render(<App />, document.querySelector('.app'));
答案 0 :(得分:1)
欢迎来到StackOverflow!
单击元素的name
属性可通过传递给事件处理程序的事件对象获得。该对象有一个名为target
的属性,它是您单击的DOM节点。通过此节点,您可以获得name
属性。
换句话说,您的更改处理程序应如下所示:
changeCategory(e) {
console.log(e.target.name);
this.setState({ category: e.target.name });
}
希望这有帮助!