javascript - MUI : The `value` provided to the Tabs component is invalid. 带有此 `value` ("0"的选项卡不是文档布局的一部分

标签 javascript reactjs material-ui tabs

我正在使用 MUI 选项卡,但出现以下错误:
梅:value提供给选项卡组件是无效的。
带有此 value 的选项卡("0") 不是文档布局的一部分。
确保选项卡项目存在于文档中,或者它不是 display: none .
该代码与同样产生同样问题的 MUI 示例非常相似
https://mui.com/material-ui/react-tabs/

最佳答案

我找到了一个解决方案,也许不是最好的,但它有效
我理解问题在于选项卡组件尝试在其子选项卡存在之前加载它们。所以想法是使用 setTimeout 在它们的生成中引入延迟:

import * as React from 'react';
import Box from '@mui/material/Box';
import Tab from '@mui/material/Tab';
import Tabs from '@mui/material/Tabs';
import Typography from '@mui/material/Typography';

function TabPanel(props) {
    const { children, value, index} = props;

    return (
        value === index && (
                <Typography>{children}</Typography>
        )
    );
}

export default function BasicTabs() {
    const [value, setValue] = React.useState(0);
    const [activateTab, setActivateTab] = React.useState(false);

    setTimeout(()=>{
        setActivateTab(true)
    },100)

    const tabsArr=[
        {
            label:"Item One",
            key: `simple-tab-0`,
        },
        {
            label:"Item Two",
            key: `simple-tab-1`,
        }
    ]

    const handleChange = (event, newValue) => {
        setValue(newValue);
    };

    return (
        <Box sx={{ width: '100%' }}>
            <Box sx={{ borderBottom: 1, borderColor: 'divider' }}>
                <Tabs value = {value} onChange = {handleChange}>
                    {activateTab && (
                            tabsArr.map((item)=>(
                                <Tab {...item} />
                            ))
                        )
                    }
                </Tabs>
            </Box>
            <TabPanel value={value} index={0}>Item One</TabPanel>
            <TabPanel value={value} index={1}>Item Two</TabPanel>
        </Box>
    );
}
如果不行,可以尝试增加延迟

关于javascript - MUI : The `value` provided to the Tabs component is invalid. 带有此 `value` ("0"的选项卡不是文档布局的一部分,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/72085892/

相关文章:

javascript - JS Discord 机器人获取角色

javascript - 导入模块错误这是未定义的

javascript - 在 React Hook 表单中显示来自 Controller 的错误

javascript - 正在接收数据但无法显示

reactjs - react typescript 和 useCallback

javascript - 使用 Material-UI 创建自定义变体

reactjs - 将 Create-React-App 与 Material UI 结合使用

javascript - 如何设置 X 属性以使用 Electron 创建桌面状态栏?

javascript - 代码在控制台中工作,但在加载网站时不起作用

php - 保护/验证对服务器的 JSON 请求