不能传递标签属性参数?(反应)

Can not pass tag attribute arguments?(React)

我想获取console.log("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'));

欢迎使用 Whosebug!

单击元素的 name 属性可通过传递给事件处理程序的事件对象获得。该对象有一个名为 target 的 属性,它是您单击的 DOM-节点。通过此节点,您可以获得 name 属性。

换句话说,您的更改处理程序应如下所示:

changeCategory(e) {
  console.log(e.target.name);
  this.setState({ category: e.target.name });
}

希望对您有所帮助!