首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么PyCharm在这段代码中显示错误?(反应)

为什么PyCharm在这段代码中显示错误?(反应)
EN

Stack Overflow用户
提问于 2022-11-08 19:53:37
回答 1查看 14关注 0票数 -2

我现在正在学习react.js。我有一个插件为它,所以吡喃应该支持JSX。但是,当我试图在其中编码时,我总是会收到大量错误(检查100次,我的代码是正确的)。我应该做什么或者我的代码是正确的?

Registration.js

代码语言:javascript
复制
import React from 'react'
import CryptoJS from 'crypto-js'
export class App extends React.component {
        function send () {
        const form = {
            email: document.getElementById('EmailInput').value,
            username: document.getElementById('UsernameInput').value,
            password: CryptoJS.MD5.encrypt(document.getElementById('PasswordInput').value),
            emailSpam: document.getElementById('checkEmailSpam').checked
        }
        fetch('register', {method: 'POST', body: JSON.stringify(form)})
            .then(data => data.json())
        alert('На ваш E-mail было выслано письмо с сcылкой для завершения регистрации. Все инструкции в письме.')
    }

    render() {
        return (
            <div id="loginForm" className="card mt-5" style="width: 40vh; background-color: #F6F8FA">
                <form style="text-align: left">
                    <div className="mb-3 mt-3 ms-3 me-3">
                        <label htmlFor="EmailInput" className="form-label">E-mail</label>
                        <input type="email" className="form-control" id="EmailInput" placeholder="E-mail">
                    </div>
                    <div className="mb-3 mt-3 ms-3 me-3">
                        <label htmlFor="UsernameInput" className="form-label">Отображаемое имя</label>
                        <input type="text" className="form-control" id="UsernameInput" placeholder="Никнейм">
                    </div>
                    <div className="mb-3 ms-3 me-3">
                        <label htmlFor="PasswordInput" className="form-label">Пароль</label>
                        <input type="password" className="form-control" id="PasswordInput" placeholder="Пароль">
                    </div>
                    <div className="form-check mb-3 ms-3 me-3">
                        <input type="checkbox" className="form-check-input" value="" id="checkEmailSpam" checked>
                            <label htmlFor="checkEmailSpam" className="form-check-label">
                                Желаете ли вы получать новости Фонда МультиСны на корпоративную почту?
                            </label>
                    </div>
                    <div className="d-grid gap-2 col-6 mx-auto">
                        <button className="btn btn-success mb-3 mt-2" type="button" style="background-color: #44c96b"
                                onClick="send()">Зарегестрироваться
                        </button>
                    </div>
                </form>
            </div>
        )
    }
}

错误是smth类似于:语句删除“或"}预期,但它们在那里

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-11-08 20:00:34

  1. 您不能在类主体中使用function关键字所以:
  2. 您必须关闭jsx

中的<input />标记

代码语言:javascript
复制
import React from "react";
import CryptoJS from "crypto-js";
export class App extends React.component {
  send() {
    const form = {
      email: document.getElementById("EmailInput").value,
      username: document.getElementById("UsernameInput").value,
      password: CryptoJS.MD5.encrypt(
        document.getElementById("PasswordInput").value
      ),
      emailSpam: document.getElementById("checkEmailSpam").checked,
    };
    fetch("register", { method: "POST", body: JSON.stringify(form) }).then(
      (data) => data.json()
    );
    alert(
      "На ваш E-mail было выслано письмо с сcылкой для завершения регистрации. Все инструкции в письме."
    );
  }

  render() {
    return (
      <div
        id="loginForm"
        className="card mt-5"
        style="width: 40vh; background-color: #F6F8FA"
      >
        <form style="text-align: left">
          <div className="mb-3 mt-3 ms-3 me-3">
            <label htmlFor="EmailInput" className="form-label">
              E-mail
            </label>
            <input
              type="email"
              className="form-control"
              id="EmailInput"
              placeholder="E-mail"
            />
          </div>
          <div className="mb-3 mt-3 ms-3 me-3">
            <label htmlFor="UsernameInput" className="form-label">
              Отображаемое имя
            </label>
            <input
              type="text"
              className="form-control"
              id="UsernameInput"
              placeholder="Никнейм"
            />
          </div>
          <div className="mb-3 ms-3 me-3">
            <label htmlFor="PasswordInput" className="form-label">
              Пароль
            </label>
            <input
              type="password"
              className="form-control"
              id="PasswordInput"
              placeholder="Пароль"
            />
          </div>
          <div className="form-check mb-3 ms-3 me-3">
            <input
              type="checkbox"
              className="form-check-input"
              value=""
              id="checkEmailSpam"
              checked
            />
            <label htmlFor="checkEmailSpam" className="form-check-label">
              Желаете ли вы получать новости Фонда МультиСны на корпоративную
              почту?
            </label>
          </div>
          <div className="d-grid gap-2 col-6 mx-auto">
            <button
              className="btn btn-success mb-3 mt-2"
              type="button"
              style="background-color: #44c96b"
              onClick="send()"
            >
              Зарегестрироваться
            </button>
          </div>
        </form>
      </div>
    );
  }
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/74366412

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档