javascript - 如何在react.js中使用onClick?

标签 javascript reactjs

如何使用 onClick 事件或任何其他类似的事件?

import mycomponent from './path'    

class App extends React.Component{

    render()
    {
      <mycomponent onClick={console.log("Click"}/>
    }
}

如何给我的组件提供onClick事件?

import React from 'react'
const mycomponent = () =>{<p>Click Me</p>}

export default mycomponent

最佳答案

这里有两点值得注意:

  1. 您可以捕获click (或其他事件)仅在 DOM 元素上。如果你想捕获click自定义组件上的事件,您需要将其委托(delegate)给组件内的 DOM 元素。

  2. 您传递给onClick的内容应该是一个函数。在这里,您将调用该函数的结果传递给 onClick ( console.log('Click') 是函数调用,而不是函数)。

这是一个运行示例:

const MyComponent = (props) => (<p onClick={props.click}>Click Me</p>)


class App extends React.Component {
  click () {
    alert('clicked')
  }
  render() {
    return (
    <div>
      Provide a function to click event: <MyComponent click={this.click} />
      Provide an anonymous function to click event: <MyComponent click={() => alert('yes')} />

    </div>
      
      
    )
  }
}



ReactDOM.render(
  <App />,
  document.getElementById('container')
);
<script src="https://cdnjs.cloudflare.com/ajax/libs/react/15.1.0/react.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/react/15.1.0/react-dom.min.js"></script>

<div id="container">
</div>

另请注意这一行 const mycomponent = () =>{<p>Click Me</p>}应该是

const mycomponent = () => <p>Click Me</p>

如果添加花括号,则需要显式返回该值。

关于javascript - 如何在react.js中使用onClick?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51832797/

相关文章:

javascript - 当单击子复选框 &lt;input&gt; 时,React/HTML 取消父 <div> 的 onClick

javascript - 在 react 组件之外使用 react 上下文

javascript - 通过 JavaScript 添加包含 spring 标签的行

javascript - Jquery .val() 通过按下按钮改变变量值

javascript - 带有窗口或文档的 jQuery 多重选择器

javascript - Mysql Like 带有对象数组的javascript 语句?

css - 通过函数或变量设置背景图片

javascript - 使用react-select设置多选

javascript - 如何在不需要发送 HTML 代码的情况下共享 AngularJS 指令

javascript - 选中(或未选中)复选框的 URL 连接 javascript