React --> 警告:validateDOMNesting(...): <p> 不能作为 <p> 的后代出现

Posted

技术标签:

【中文标题】React --> 警告:validateDOMNesting(...): <p> 不能作为 <p> 的后代出现【英文标题】:React --> Warning: validateDOMNesting(...): <p> cannot appear as a descendant of <p> 【发布时间】:2019-01-02 01:30:11 【问题描述】:

我在浏览器控制台中收到此警告:

warning.js?da67:33 Warning: validateDOMNesting(...): <p> cannot appear as a descendant of <p>.

上线:

<p>this.state.error && <p className="errorText">this.state.error</p></p>

这是一个反应项目。我也在使用 webpack。如何解决这个问题?

【问题讨论】:

【参考方案1】:

警告会告诉您具体需要做什么。您不能嵌套&lt;p&gt; 标签,因此使用div 作为外部标签,如

<div>
   this.state.error && 
      <p className="errorText">
           this.state.error
       </p>
   
</div> 

【讨论】:

谢谢,我已经尝试过了,但又遇到了另一个错误,但现在它可以正常工作了:D 按照规范,你不应该这样做,但我不知道任何现代浏览器不会呈现这样的 DOM 结构。【参考方案2】:

我通过从文本字段中删除父标签解决了这个问题

【讨论】:

以上是关于React --> 警告:validateDOMNesting(...): <p> 不能作为 <p> 的后代出现的主要内容,如果未能解决你的问题,请参考以下文章

React系列Props 验证

React --> 警告:validateDOMNesting(...): <p> 不能作为 <p> 的后代出现

React组件属性部类(propTypes)校验

React:在网站退出时执行功能,而不发出警报警告

解决 Visual Studio 2005/2008 中的“Validation (): Element ‘xxxx’ is not supported”警告

使用 react-window 渲染表行时如何处理“警告:validateDOMNesting(...): <tr> 不能作为 <div> 的子项出现。”