reactjs - 样式化组件和 React : Click event

标签 reactjs styled-components

我正在尝试为 Styled Components 组件创建 onClick,但它不起作用。它不会在控制台中记录 hello

<Component onClick={this.handleClick} />

handleClick:

handleClick(e) {
    console.log("hello");
}

这也在构造函数中:

this.handleClick = this.handleClick.bind(this);

组件:

const Component = styled.span`
    /* Regular CSS */
    ${css};
`;

提前致谢!

编辑:

该组件嵌套在 Button 组件中。当我将 onClick 添加到按钮组件时 hello 显示在控制台中。但是我希望 child 有这个功能而不是 parent 。

编辑 2:

好的,所以当我更改 CSS 时它就可以工作了。我不知道为什么。这是我的 CSS:

        top: 0;
        left: 0;
        width: 10px;
        height: 10px;
        display: block;
        z-index: 0;
        position: absolute;
        overflow: hidden;
        border-radius: inherit;

最佳答案

我们可能需要更多代码。无论如何,最简洁的绑定(bind)方式是通过箭头函数:

handleClick = () => console.log('click')

如果您的 Button 位于 INSIDE 中,则您必须使用其他 Prop ,因为 onClick 已绑定(bind)到 onClick 事件。 尝试

// In Parent
<Parent action={this.handleClick} />

// In Child
<Child onClick={this.props.action} />

关于reactjs - 样式化组件和 React : Click event,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52163475/

相关文章:

css - 无法使用样式化组件和 Next.js 导入 Google 字体

reactjs - React 组件中的 JSX 将西里尔文文本显示为 habra-codabra

reactjs - 用 React 测试

reactjs - 如何在 Material UI 的 React 中使用 Typography 作为样式组件

javascript - 如何动态更改样式组件的样式?

javascript - React 无法识别 DOM 元素上的 `isActive` 属性 - styled-components

javascript - SASS child rule setting inside based on parent 下?

image - react native : Images are not getting rendered

javascript - 没有关闭标签的元素推送 JSX

css - 等待 CSS 在 nextjs 静态站点上加载?