You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

React代码标签未闭合错误排查求助(Hackathon场景)

React标签未闭合及语法错误修复方案

你的代码存在标签未闭合、React语法不兼容、多余语法残留等问题,以下是具体修复点和完整修复后的代码:

核心错误点

  • 第14行的<a>标签未闭合就直接跳转至form标签,导致后续DOM嵌套结构完全混乱
  • 开头的<div class="container">和内部<footer>标签未闭合就开始form代码,破坏了页面层级
  • React中必须用className替代HTML的class属性,避免与JavaScript关键字冲突
  • 不能直接使用Jinja模板语法{{ url_for('xxx') }},需替换为静态路径或React路由链接
  • input标签在JSX中应为自闭合格式(<input ... />),无需额外的</input>标签
  • 函数末尾存在多余的); }语法残留,需删除

修复后的完整代码

import React from "react";
import Navbar from "./navbar";
// import Footer from "./footer";

function Questions() {
  return (
    <div>
      {/* Q&A PAGE */}
      {/* Navigation Bar */}
      <Navbar />

      <div className="container">
        <footer className="py-3 my-4">
          <ul className="nav justify-content-center border-bottom pb-3 mb-3">
            <li className="nav-item">
              <a href="/home" className="nav-link px-2 text-body-secondary">Home</a>
            </li>
          </ul>
        </footer>
      </div>

      <form action="#" method="post">
        {/* Asks for name of the person */}
        <p style={{ marginLeft: "50px" }}> name </p>
        <p style={{ marginLeft: "50px" }}> <input type="text" name="name" /> </p>

        <p style={{ marginLeft: "50px" }}> Race </p>
        <ul>
          <p style={{ marginLeft: "50px" }}> <input type="checkbox" name="race" value="Black" /> Black </p>
          <p style={{ marginLeft: "50px" }}> <input type="checkbox" name="race" value="East_Asian" /> East Asian </p>
          <p style={{ marginLeft: "50px" }}> <input type="checkbox" name="race" value="Latinx" /> Latinx </p>
          <p style={{ marginLeft: "50px" }}> <input type="checkbox" name="race" value="South_Asian" /> South Asian </p>
          <p style={{ marginLeft: "50px" }}> <input type="checkbox" name="race" value="South_Asian" /> South Asian </p>
          <p style={{ marginLeft: "50px" }}> <input type="checkbox" name="race" value="White" /> White </p>
        </ul>

        <p style={{ marginLeft: "50px" }}> Gender </p>
        <ul>
          <p style={{ marginLeft: "50px" }}> <input type="checkbox" name="gender" value="Male" /> Male </p>
          <p style={{ marginLeft: "50px" }}> <input type="checkbox" name="gender" value="Female" /> Female </p>
          <p style={{ marginLeft: "50px" }}> <input type="checkbox" name="gender" value="Non-binary" /> Non-binary </p>
        </ul>

        <p style={{ marginLeft: "50px" }}> Sexuality </p>
        <ul>
          <p style={{ marginLeft: "50px" }}> <input type="checkbox" name="sexuality" value="Gay/Lesbian" /> Gay/Lesbian </p>
          <p style={{ marginLeft: "50px" }}> <input type="checkbox" name="sexuality" value="Bisexual" /> Bisexual </p>
          <p style={{ marginLeft: "50px" }}> <input type="checkbox" name="sexuality" value="Queer" /> Queer </p>
          <p style={{ marginLeft: "50px" }}> <input type="checkbox" name="sexuality" value="Intersex" /> Intersex </p>
          <p style={{ marginLeft: "50px" }}> <input type="checkbox" name="sexuality" value="Asexual" /> Asexual </p>
        </ul>

        <p style={{ marginLeft: "50px" }}> Religion </p>
        <ul>
          <p style={{ marginLeft: "50px" }}> <input type="checkbox" name="religion" value="Athiest" /> Athiest </p>
          <p style={{ marginLeft: "50px" }}> <input type="checkbox" name="religion" value="Hindu" /> Hinduism </p>
          <p style={{ marginLeft: "50px" }}> <input type="checkbox" name="religion" value="Islam" /> Islam </p>
          <p style={{ marginLeft: "50px" }}> <input type="checkbox" name="religion" value="Christianity" /> Christianity </p>
          <p style={{ marginLeft: "50px" }}> <input type="checkbox" name="religion" value="Agnostic" /> Agnostic </p>
          <p style={{ marginLeft: "50px" }}> <input type="checkbox" name="religion" value="Buddhism" /> Buddhism </p>
          <p style={{ marginLeft: "50px" }}> <input type="checkbox" name="religion" value="Judaism" /> Judaism </p>
          <p style={{ marginLeft: "50px" }}> <input type="checkbox" name="religion" value="Sikhism" /> Sikhism </p>
        </ul>

        <p style={{ marginLeft: "50px" }}> <input type="submit" value="Submit" /> </p>
      </form>

      {/* FOOTER */}
      <div className="container">
        <footer className="py-3 my-4">
          <ul className="nav justify-content-center border-bottom pb-3 mb-3">
            <li className="nav-item">
              <a href="/home" className="nav-link px-2 text-body-secondary">Home</a>
            </li>
            <li className="nav-item">
              <a href="/trending" className="nav-link px-2 text-body-secondary">Trending</a>
            </li>
            <li className="nav-item">
              <a href="/response" className="nav-link px-2 text-body-secondary">Book Lists</a>
            </li>
            <li className="nav-item">
              <a href="/questions" className="nav-link px-2 text-body-secondary">Q&A</a>
            </li>
          </ul>
          <p className="text-center text-body-secondary">© Book Website's name</p>
        </footer>
      </div>
    </div>
  );
}

export default Questions;

额外说明

  • 如果你使用React Router,建议将<a>标签替换为<Link>组件,避免页面全量刷新
  • style属性在JSX中必须用对象格式(style={{ marginLeft: "50px" }}),已统一修改
  • 提交按钮的value从"value"改为"Submit",更符合用户操作习惯

内容的提问来源于stack exchange,提问作者Nur

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.12 15:29:51