Не работает метод compnentDidMount() внутри функциии класса компонента React.?

В родительском компоненте находиться функциия ajax() , которую я прокидываю в дочерний компонент и там вызываю. Но РЕАКТ выдает ошибку

"./src/components/signin/signin.js
  Line 33:20:  Parsing error: Unexpected token, expected ";"

      31 |       role: "user",
  32 |     };
> 33 | componentDidMount(){
     |                    ^
  34 |     this.props.ajax("core/signup.php", "POST", signup, data);
  35 | }

МОЙ КОД

     export default class SignIn extends Component {
  singupSubmit(e) {
    e.preventDefault();

    let name = document.querySelector("#signup-name").value,
      pass = document.querySelector("#signup-password").value,
      email = document.querySelector("#signup-email").value,
      bh = document.querySelector("#signup-bh").value,
      phone = document.querySelector("#signup-phone").value,
      lastName = document.querySelector("#signup-lastName").value,
      sex = document.querySelectorAll(".sex");
    let msg = document.querySelector(".msg");
    for (let i = 0; i < sex.length; i++) {
      if (sex[i].checked) {
        sex = sex[i].value;
        break;
      }
    }
    let data = {
      name: name,
      pass: pass,
      email: email,
      birthday: bh,
      sex: sex,
      phone: phone,
      lastName: lastName,
      role: "user",
    };
componentDidMount(){
    this.props.ajax("core/signup.php", "POST", signup, data);
}
    function signup(result) {

Ответы (1 шт):

Автор решения: Александр Лесив
export default class SignIn extends Component {
  singupSubmit(e) {
    e.preventDefault();

    let name = document.querySelector("#signup-name").value,
      pass = document.querySelector("#signup-password").value,
      email = document.querySelector("#signup-email").value,
      bh = document.querySelector("#signup-bh").value,
      phone = document.querySelector("#signup-phone").value,
      lastName = document.querySelector("#signup-lastName").value,
      sex = document.querySelectorAll(".sex");
    let msg = document.querySelector(".msg");
    for (let i = 0; i < sex.length; i++) {
      if (sex[i].checked) {
        sex = sex[i].value;
        break;
      }
    }
    let data = {
      name: name,
      pass: pass,
      email: email,
      birthday: bh,
      sex: sex,
      phone: phone,
      lastName: lastName,
      role: "user",
    };
  }
  componentDidMount(){
    this.props.ajax("core/signup.php", "POST", signup, data);
  }
}

    function signup(result) {}

Вот так. Не хватало одной закрывающей скобки после функции signupSubmit. Синтаксической ошибки больше не будет. Правда, по-моему, здесь еще логические ошибки, ведь в хуке componentDidMount не будет видна переменная data

→ Ссылка