Solucionado (ver solução)
Solucionado
(ver solução)
5
respostas

Tarefa não é acrescentada na lista

Olá, estou tendo um problema que ao clicar em ADICIONAR a tarefa não é acrescentada na lista.

Dentro do console aparece o seguinte erro ao abrir a página: "Warning: ReactDOM.render is no longer supported in React 18. Use createRoot instead. Until you switch to the new API, your app will behave as if it's running React 17."

Ao clicar no botão adicionar o console apresenta o seguinte erro: "index.tsx:17 Uncaught TypeError: Cannot read properties of undefined (reading 'props') at adicionarTarefa (index.tsx:17:1) at HTMLUnknownElement.callCallback (react-dom.development.js:4157:1) at Object.invokeGuardedCallbackDev (react-dom.development.js:4206:1) at invokeGuardedCallback (react-dom.development.js:4270:1) at invokeGuardedCallbackAndCatchFirstError (react-dom.development.js:4284:1) at executeDispatch (react-dom.development.js:9011:1) at processDispatchQueueItemsInOrder (react-dom.development.js:9043:1) at processDispatchQueue (react-dom.development.js:9056:1) at dispatchEventsForPlugins (react-dom.development.js:9067:1) at react-dom.development.js:9258:1"

5 respostas

Talvez porque você está usando o React 18, tenta ver se isso pode te ajudar:

React 18

Olá Bernardo, eu tinha visto isso e já tinha tentado realizar as alterações necessárias no arquivo principal do projeto src/index.tsx.

Porém apresenta um outro erro.

Após colocar isto:

import './index.css';

import React from 'react';
import ReactDOM from 'react-dom/client';

import App from './pages/App';

const root = ReactDOM.createRoot(document.getElementById("root"));
root.render(
  <React.StrictMode>
    <App />
  </React.StrictMode>
);

o argumento do createRoot apresenta um erro dizendo "Argument of type 'HTMLElement | null' is not assignable to parameter of type 'Element | DocumentFragment'. Type 'null' is not assignable to type 'Element | DocumentFragment'."

Você pode alterar a linha

const root = ReactDOM.createRoot(document.getElementById("root")); 

Especificando que recebera um Element, desse jeito:

const root = ReactDOM.createRoot(document.getElementById("root") as Element); 

Se ainda não rodar tente:

const root = ReactDOM.createRoot(document.getElementById("root") as Element | DocumentFragment); 

O problema da versão foi resolvido. Mas ainda não está acrescentando a tarefa na lista. No console aparece o seguinte erro:

"Uncaught TypeError: Cannot read properties of undefined (reading 'props') at adicionarTarefa (index.tsx:19:1) at HTMLUnknownElement.callCallback (react-dom.development.js:4157:1) at Object.invokeGuardedCallbackDev (react-dom.development.js:4206:1) at invokeGuardedCallback (react-dom.development.js:4270:1) at invokeGuardedCallbackAndCatchFirstError (react-dom.development.js:4284:1) at executeDispatch (react-dom.development.js:9011:1) at processDispatchQueueItemsInOrder (react-dom.development.js:9043:1) at processDispatchQueue (react-dom.development.js:9056:1) at dispatchEventsForPlugins (react-dom.development.js:9067:1) at react-dom.development.js:9258:1"

solução!

Após refatoração de Class Component para Function Component o código compilou normalmente