我一直在尝试将一个html网站移植到Gatsbyjs并做出反应。在构建header Comparement时,我在带有的行中得到一个错误“相邻的JSX元素必须包装在一个封闭的标记中”。我想不出这个问题,请你帮忙。我使用有状态组件构建它的原因是,稍后我将向它添加一些额外的功能。
这是我的代码:
import React, {Component} from 'react'
import { Link } from 'gatsby'
import { graphql } from 'gatsby'
import Img from 'gatsby-image'
import get from 'lodash/get'
import PropTypes from 'prop-types'
import Image from 'components/image'
class Header extends React.Component {
constructor(props) {
super(props);
this.state = {
windowWidth: 1081,
mobileNavVisible: false
};
}
renderNavigation() {
<div className="site-logo retina pull-left"><Link to="/"><Img file="ChefsChoiceLogo300x300_DarkBG.png" width="120px" alt="Chef's Choice Logo" draggable="true"/></Link></div>
//Site Navigation-->
<nav className="navbar pull-right">
<div className="navbar-header">
<button type="button" data-toggle="collapse" data-target=".site-navigation" className="navbar-toggle"><span className="sr-only">Gezinti Bölmesini Aç/Kapa</span><span className="fa fa-bars"></span></button>
</div>
<ul className="site-navigation">
<li className="active"><Link to="/">Anasayfa</Link>
</li>
<li><Link to="menu" >Menü</Link>
</li>
<li><Link to="contact">İletişim</Link></li>
</ul>
</nav>
}
render() {
return(
<div className="menu-style-2 responsive sticky-menu">
<div className="site-wrapper">
<header className="site-header">
<div className="container">
<div className="row">
{this.renderNavigation()}
</div>
</div>
</header>
</div>
</div>
)
}
}
export default Header
在渲染导航中,将div中的所有内容包装起来,并在渲染函数中返回。
renderNavigation() {
return(
<div>
<div className="site-logo retina pull-left"><Link to="/"><Img file="ChefsChoiceLogo300x300_DarkBG.png" width="120px" alt="Chef's Choice Logo" draggable="true"/></Link></div>
//Site Navigation-->
<nav className="navbar pull-right">
<div className="navbar-header">
<button type="button" data-toggle="collapse" data-target=".site-navigation" className="navbar-toggle"><span className="sr-only">Gezinti Bölmesini Aç/Kapa</span><span className="fa fa-bars"></span></button>
</div>
<ul className="site-navigation">
<li className="active"><Link to="/">Anasayfa</Link>
</li>
<li><Link to="menu" >Menü</Link>
</li>
<li><Link to="contact">İletişim</Link></li>
</ul>
</nav>
</div>
)
}
首先,renderNaviance()似乎没有返回任何内容。
第二,你正在返回(?)一个div和一个nav并排。这些需要用容器包装。只能返回一个元素。
renderNavigation() {
return ( <-- add this
<div className="wrapper"> <-- add this
<div className="site-logo retina pull-left"><Link to="/"><Img file="ChefsChoiceLogo300x300_DarkBG.png" width="120px" alt="Chef's Choice Logo" draggable="true"/></Link></div>
//Site Navigation-->
<nav className="navbar pull-right">
<div className="navbar-header">
<button type="button" data-toggle="collapse" data-target=".site-navigation" className="navbar-toggle"><span className="sr-only">Gezinti Bölmesini Aç/Kapa</span><span className="fa fa-bars"></span></button>
</div>
<ul className="site-navigation">
<li className="active"><Link to="/">Anasayfa</Link>
</li>
<li><Link to="menu" >Menü</Link>
</li>
<li><Link to="contact">İletişim</Link></li>
</ul>
</nav>
</div> <-- add this
); <-- add this
}
我看到两个问题。
1)你需要做它所说的,并包装你的renderNaviationjsx只有一个根元素...
2) 你也需要一个返回声明。。。
renderNavigation() {
return (
<React.Fragment>
<div className="site-logo retina pull-left"><Link to="/"><Img file="ChefsChoiceLogo300x300_DarkBG.png" width="120px" alt="Chef's Choice Logo" draggable="true" /></Link></div>
//Site Navigation-->
<nav className="navbar pull-right">
<div className="navbar-header">
<button type="button" data-toggle="collapse" data-target=".site-navigation" className="navbar-toggle"><span className="sr-only">Gezinti Bölmesini Aç/Kapa</span><span className="fa fa-bars"></span></button>
</div>
<ul className="site-navigation">
<li className="active"><Link to="/">Anasayfa</Link>
</li>
<li><Link to="menu" >Menü</Link>
</li>
<li><Link to="contact">İletişim</Link></li>
</ul>
</nav>
<React.Fragment>
)}
我试图打印道具的反应组件,但得到一个错误。请帮助: 片段: 我在等“你好,亲爱的!”然后下一行是“蓝色”。但是,我得到了这个错误。 错误:
我有下面的代码是react.js这是抛出一个错误 “相邻的JSX元素必须包装在一个封闭的标记中”。看起来React不接受相邻的相同标记如何显示表格数据?
我为代码的质量提前道歉。当我尝试将html代码放入gatsby.js项目的index.js页面中时,我遇到以下错误: ./src/components/section3.js模块构建失败时出错(来自./node_modules/gatsby/dist/utils/babel loader.js):SyntaxError:/path/src/components/section3.js:相邻的JSX
我试图在页面中显示文章,但我遇到了一些问题,需要在reactjs中封装标签。看起来React不接受相邻的相同标记如何显示表格数据? 有人知道问题出在哪里吗?
我有以下返回语句,即给出错误任何想法是错误的?
当我为我的反应应用程序构建反应路线时,错误出现了 分析错误:相邻的JSX元素必须包装在封闭标记中。 下面是我的代码 谢谢