gpt4 book ai didi

javascript - React 中孙子元素的箭头语法和绑定(bind)问题

转载 作者:行者123 更新时间:2023-12-02 21:46:09 24 4
gpt4 key购买 nike

我正在尝试创建一个测试页面,但无法让某些按钮正常工作。

import React from 'react'
import { Dropdown, Icon, Menu, Segment } from 'semantic-ui-react'

export class Page extends React.Component<any, any> {

constructor(props: any) {
super(props);
this.state = {
sidebarVisible: false
}
}

render() {
return (
<Header name='test' onCLick={this.handleIconClick}/>
)
}

handleIconClick = () => {

console.log('CLICKED');
let visible = !this.state.sidebarVisible;
this.setState({sidebarVisible: visible});

}

}

export class Header extends React.Component<any, any> {

constructor(props: any) {
super(props);
this.state = {
iconName: this.props.visible ? 'angle double left' : 'angle double right'
};
console.log(this.props)
}

render() {
return (
<div>
<Menu>
<Menu.Item onClick={this.props.onClick}>
<Icon name={this.state.iconName}/>
</Menu.Item>
</Menu>
</div>
)
}
}

在上面的示例中,我通过以下文档、在线查找解决方案等得出了结果...甚至不允许我单击按钮(“CLICKED”从未被记录)。

当我改变

<Menu.Item onClick={this.props.onClick}>

<Menu.Item onClick={() => this.props.onClick()}>

我收到一条错误消息:

this.props.onClick is not a function

我在这方面花了相当多的时间,非常感谢您的帮助。

谢谢。

最佳答案

与箭头语法无关。您有onCLick而不是onClick当您调用<Header /><Page /> 中的组件组件。

更改如下:

<Header name='test' onClick={this.handleIconClick} />

希望对您有所帮助!

关于javascript - React 中孙子元素的箭头语法和绑定(bind)问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60243508/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com