【发布时间】:2022-01-27 21:21:54
【问题描述】:
Material-ui 组件未在基于 React 类的组件中呈现? 我正在尝试在基于类的组件中转换基于函数的 material-ui 组件,但基于类的组件未呈现...在主 div 中检查主 div 未显示该组件? 知道如何将 material-ui 与基于类的组件一起使用吗?
enter code here
import * as React from 'react';
import Box from '@mui/material/Box';
import Tabs from '@mui/material/Tabs';
import Tab from '@mui/material/Tab';
function LinkTab(props) {
return (
<Tab
component="a"
onClick={(event) => {
event.preventDefault();
}}
{...props}
/>
);
}
class Header extends Component {
constructor(props) {
super(props);
this.state = {
value: 0,
};
}
handleChange = (event, newValue) => {
this.setState(
(prevState) => (
{
value: newValue,
},
() => {
console.log("value", this.state.newValue);
}
)
);
};
render() {
return (
<Box sx={{ width: '100%' }}>
<Tabs value={this.state.value} onChange={this.handleChange()} aria-label="nav tabs example">
<LinkTab label="Page One" href="/drafts" />
<LinkTab label="Page Two" href="/trash" />
<LinkTab label="Page Three" href="/spam" />
</Tabs>
</Box>
);
}
}
export default Header;
import * as React from 'react';
import Box from '@mui/material/Box';
import Tabs from '@mui/material/Tabs';
import Tab from '@mui/material/Tab';
function LinkTab(props) {
return (
<Tab
component="a"
onClick={(event) => {
event.preventDefault();
}}
{...props}
/>
);
}
export default function header() {
const [value, setValue] = React.useState(0);
const handleChange = (event, newValue) => {
setValue(newValue);
};
return (
<Box sx={{ width: '100%' }}>
<Tabs value={value} onChange={handleChange} aria-label="nav tabs example">
<LinkTab label="Page One" href="/drafts" />
<LinkTab label="Page Two" href="/trash" />
<LinkTab label="Page Three" href="/spam" />
</Tabs>
</Box>
);
}
【问题讨论】:
-
我只看到一个错误是它应该是
onChange={this.handleChange}而不是onChange={this.handleChange()} -
还是不行
标签: reactjs material-ui react-class-based-component