material ui React 缁勪欢鍑芥暟閲岄潰鐨?this 鏈畾涔夋槸鎬庝箞鍥炰簨锛?- V2EX
資深大佬 : dyllen 60
import React from 'react'; import AppBar from '@material-ui/core/AppBar'; import Toolbar from '@material-ui/core/Toolbar'; import Button from '@material-ui/core/Button'; import Typography from '@material-ui/core/Typography'; import DashboardIcon from '@material-ui/icons/Dashboard'; import IconButton from '@material-ui/core/IconButton'; import {Link} from 'react-router-dom'; import Menu from '@material-ui/core/Menu'; import MenuItem from '@material-ui/core/MenuItem'; class Header extends React.Component { constructor(props) { super(props); this.state = { anchorEl: null }; } handleClick(event) { console.log(event); console.log(this); this.setState({ anchorEl: event.currentTarget, }); } handleClose() { console.log(342); this.setState({ anchorEl: null, }); } render() { return ( <AppBar position="static"> <Toolbar> <IconButton edge="start" color="inherit" aria-label="menu"> <DashboardIcon /> </IconButton> <Button color="inherit"> <Link to="/home" className="menu-link"> 棣栭〉 </Link> </Button> <Button color="inherit" onClick={this.handleClick}> <Link to="/home" className="menu-link"> 鍐呭绠$悊 </Link> </Button> <Menu id="simple-menu" anchorEl={this.anchorEl} keepMounted open={Boolean(this.anchorEl)} onClose={this.handleClose} > <MenuItem onClick={this.handleClose}>Profile</MenuItem> <MenuItem onClick={this.handleClose}>My account</MenuItem> <MenuItem onClick={this.handleClose}>Logout</MenuItem> </Menu> </Toolbar> </AppBar> ); } } export default Header;
浠g爜濡備笂,Header閲岄潰鐨?handleClick 鍑芥暟锛宼his 鎻愮ずundefined,鎴戜箣鍓嶆寜鐓у畼鏂圭ず渚嬪鐨勬椂鍊欙紝onClick 缁戝畾鐨?code>class鍑芥暟鐨?code>this鏄湁鐨勶紝鍙互浣跨敤this.setState鐨?鎬庝箞鍒颁簡杩欓噷灏变笉琛屼簡鍛紵
大佬有話說 (4)