【问题标题】:Material-UI Warning: validateDOMNesting(...): <p> cannot appear as a descendant of <p>Material-UI 警告:validateDOMNesting(...): <p> 不能作为 <p> 的后代出现
【发布时间】:2021-10-25 14:31:45
【问题描述】:

我正在使用 Material UI,当我点击表格内的 Collapse cmp (Material UI) 时出现此错误:

validateDOMNesting(...): <p> cannot appear as a descendant of <p>. **

我看到了相同的主题,但我没有使用 Typography。 我不知道问题是 Collapse cmp 还是其中的元素

代码如下:

import React from 'react'
import KeyboardArrowDownIcon from '@material-ui/icons/KeyboardArrowDown';
import KeyboardArrowUpIcon from '@material-ui/icons/KeyboardArrowUp';
import TableCell from '@material-ui/core/TableCell';
import TableRow from '@material-ui/core/TableRow';
import IconButton from '@material-ui/core/IconButton';
import Collapse from '@material-ui/core/Collapse';
import Box from '@material-ui/core/Box';
import classes from './post.module.scss'
import Button from '@material-ui/core/Button';

export default function PostRow(props) {
    const { row, delatePost, loadProfile, fromProfile } = props;
    const [open, setOpen] = React.useState(false);
    return (
        <React.Fragment>
            <TableRow onClick={() => setOpen(!open)} style={{ borderBottom: 'unset', cursor: 'pointer' }}>
                <TableCell>
                    עוד
                    <IconButton aria-label="expand row" size="small" onClick={() => setOpen(!open)}>
                        {open ? <KeyboardArrowUpIcon /> : <KeyboardArrowDownIcon />}
                    </IconButton>

                </TableCell>
                <TableCell align="right">{row.name}</TableCell>
                <TableCell align="right" component="th" scope="row">
                    {row.businessField}
                </TableCell>
                <TableCell align="right">{row.followers}</TableCell>
            </TableRow>
            <TableRow>

                <TableCell style={{ paddingBottom: 0, paddingTop: 0, }} colSpan={6}>
                    <Collapse in={open} timeout="auto" unmountOnExit>
                        <Box margin={0}>
                            <div className={classes.about}>
                                <h4>קצת על העסק</h4>
                                <p>{row.aboutBusiness}
                                    <h4>דרישות</h4>
                                    <p>{row.requirements}</p>
                                </p>
                                {fromProfile &&
                                
                                    <Button variant="contained" color="secondary" style={{marginBottom: '15px'}} onClick={async () => {
                                        await delatePost(row._id)
                                        loadProfile()
                                    }}>מחק פוסט</Button>
                                }
                            </div>
                        </Box>
                    </Collapse>
                </TableCell>
            </TableRow>
        </React.Fragment>
    );
}

【问题讨论】:

  • 问题在这里`

    {row.aboutBusiness}

    דרישות

    {row.requirements}

    `。

    标签内有

    标签

  • 嵌套段落或将标题放在段落中是无效的 HTML。不要那样做。见html.com/semantic-markup
  • 还可以考虑在浏览器中启用(或注意)英文拼写检查器。太多的错误让你难以理解。
  • 这回答了你的问题? stackoverflow.com/questions/41928567/…

标签: reactjs material-ui next.js


【解决方案1】:

谢谢大家,我会阅读这些文章 :) 同时我刚刚删除了 P 元素,它工作得很好。

【讨论】:

    猜你喜欢
    • 2019-01-02
    • 2019-02-15
    • 1970-01-01
    • 2021-05-30
    • 2019-04-30
    • 2019-09-01
    • 2023-02-11
    • 2017-06-15
    • 1970-01-01
    相关资源
    最近更新 更多