Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

TypeError: Assignment to constant variable.

Eu até entendi a mensagem de erro, o problema é que meu código parece estar exatamente igual o do professor

import React, { useState } from "react";
import { Button, FormControlLabel, Switch, TextField } from "@mui/material";

function FormularioCadastro() {
  const [nome, setNome] = useState("Pedro");

  return (
    <form onSubmit={evento => {
        evento.preventDefault();
        console.log(nome);
    }}>

      <TextField 
        value={nome}
        onChange={evento => {
          setNome(evento.target.value);
          if(nome.length >= 3) {
            setNome(nome.substr(0, 3));
            console.log('Olá mundo');
          }

        }}
        id="nome" 
        label="Nome" 
        margin="normal" 
        fullWidth 
        onChange={evento => nome = evento.target.value}
      />

      <TextField 
        id="sobrenome" 
        label="Sobrenome" 
        margin="normal" 
        fullWidth 
      />

      <TextField 
        id="cpf" 
        label="CPF" 
        margin="normal" 
        fullWidth 
      />

      <FormControlLabel
        label="Promoções"
        control={<Switch name="promocoes" defaultChecked />}
      />

      <FormControlLabel
        label="Novidades"
        control={<Switch name="novidades" defaultChecked />}
      />

      <Button type="submit" variant="contained" color="primary">
        Cadastrar
      </Button>
    </form>
  );
}

export default FormularioCadastro;
1 resposta
solução!

Fala Pedro, beleza?

Dá uma olhada nesse trecho do teu código:

id="nome" 
label="Nome" 
margin="normal" 
fullWidth 
onChange={evento => nome = evento.target.value}

Você está trabalhando com o hook useState para gerenciar o estado da sua aplicação, correto?

No onChange desse trecho vc precisa utilizar o setNome... da mesma forma que utilizou no onChange logo acima no código.

Altera para onChange={evento => setNome(evento.target.value)} e testa.

Espero ter ajudado.