javascript - <Helmet> ReactJs 无法在函数下工作导致错误

标签 javascript reactjs

我想用ReactJs建立一个网站但是,我很难输入 react Helm 。这是代码

App.js

import React from 'react';
import ReactDOM from 'react-dom'
import { Helmet } from "react-helmet";
import { FontAwesomeIcon } from '@fortawesome/react-fontawesome';
import {
  BrowserRouter as Router,
  Switch,
  Route,
  Link,
  useRouteMatch,
  useParams
} from "react-router-dom";
import logo from './logo.svg';
import './App.css';
import 'bootstrap/dist/css/bootstrap.css';

export default function App() {
  return (
    <div className="App">
        <Router>
            <Link to="/">Home</Link>
            <Link to="/post/">Post</Link>
            <Switch>
                <Route path="/post/">
                    <Post/>
                </Route>
                <Route path="/">
                    <Home/>
                </Route>
            </Switch>
        </Router>
    </div>
  );
}

function Home() {
  return(
    <Helmet>
      <title>Main Title</title>
    </Helmet>
    <h1>Home</h1>
  );
}

function Post() {
  return(
    <Helmet>
      <title>Post Title</title>
    </Helmet> 
    <h1>Post</h1>
  );
}

我收到以下错误

./src/App.js Line 81:4: Parsing error: Adjacent JSX elements must be wrapped in an enclosing tag. Did you want a JSX fragment <>...?

我是reactJS的新手,我非常感谢任何答案或建议。谢谢。

最佳答案

组件应该返回单个元素,因此如果您想返回多个元素而没有实际的封闭元素,可以使用 Fragment :

// React.Fragment
function Home() {
  return(
    <React.Fragment>
      <Helmet>
        <title>Main Title</title>
      </Helmet>
      <h1>Home</h1>
    <React.Fragment>
  );
}

// shorthand
function Post() {
  return(
    <>
      <Helmet>
        <title>Post Title</title>
      </Helmet> 
      <h1>Post</h1>
    </>
  );
}

关于javascript - <Helmet> ReactJs 无法在函数下工作导致错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58361533/

相关文章:

javascript - ReactJs/ typescript : Make component state object and properties readonly

javascript - 使用快速服务器在 React 应用程序中热重载

reactjs - 如何在挂载时触发操作,但在 redux 存储加载之后

Javascript绘制动态线

javascript - typescript 错误 : Property 'status' does not exist on type 'never' . ts(2339)

php - JavaScript,通过 JSON 传递用户 ID 存在安全风险?

javascript - 将纬度、经度和 zoomLevel 转换为 latitudeDelta 和 longitudeDelta

javascript - 使用 Express Js 使用静态 html 页面引导数据

javascript - 如何将圆圈分成谷歌地图中的扇区?

javascript - 如何使用表单编辑 react 中的状态