javascript - React 无状态组件中的事件处理程序

标签 javascript reactjs

试图找出在 React 无状态组件中创建事件处理程序的最佳方法。我可以这样做:

const myComponent = (props) => {
    const myHandler = (e) => props.dispatch(something());
    return (
        <button onClick={myHandler}>Click Me</button>
    );
}

这里的缺点是每次渲染这个组件时,都会创建一个新的“myHandler”函数。有没有更好的方法在仍然可以访问组件属性的无状态组件中创建事件处理程序?

最佳答案

将处理程序应用于功能组件中的元素通常应该如下所示:

const f = props => <button onClick={props.onClick}></button>

如果您需要做任何更复杂的事情,这表明要么 a) 组件不应该是无状态的(使用类或 Hook ),要么 b) 您应该在外部有状态容器组件中创建处理程序.

顺便说一句,稍微削弱我的第一点,除非组件位于应用程序的特别密集的重新渲染部分,否则无需担心在 render() 中创建箭头函数。

关于javascript - React 无状态组件中的事件处理程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39260595/

相关文章:

javascript - 通过正则表达式删除和替换字符

Java,将纪元转换为毫秒

javascript - html 元素呈现为变量名称

javascript - 当组件在 react 中卸载时,我应该删除对 DOM 元素的引用吗?

javascript - 选择两个 p 元素之间的所有元素

javascript - 谷歌地图 - 未捕获的类型错误

javascript - 无法识别pdf文件multer Node js

reactjs - UseEffect Hook 在更新状态时执行多次

javascript - 预加载图像中的相对路径

javascript - 在渲染子元素之前加载数据 React