He estado codificando en una aplicación web react.js durante unos días, solo para aprender y aplicar lo que he aprendido, así que sea amable incluso si el problema es obvio. El error que obtengo es:
'React' must be in scope when using JSX react/react-in-jsx-scopeEsto sucedió después de que instalé una biblioteca y luego la desinstalé, aunque podría haber sido causado por otra cosa. Después de buscar en Google sobre esto, casi todas las cosas que encontré estaban hablando de importar reaccionar correctamente en el archivo, lo cual no había hecho en absoluto, pero cambiando
import { useState } from "react";a
import React, { useState } from "react";no cambió nada. Este es el código al que se refiere el error:
import React, { useState } from "react"; const AddToDoList = () => { const [title, setTitle]= useState(''); const [des, setDes] = useState(''); const [subject, setSubject] =useState('Deutsch'); const handleSubmit=(e)=>{ //e.preventDefault(); const Task={title, des, subject, stat:false} fetch('http://localhost:8000/tasks', { method: 'POST', headers: {"Content-Type": "application/json"}, body: JSON.stringify(Task) }).then(console.log("among us is added")); } return ( <div className="CreateTask"> <form onSubmit={handleSubmit}> <label className="TopText"> Add a Task: <br/> <input className="TextInput" type="text" placeholder="Title for Task (Required)" required="required" value={title} onChange={(e) => setTitle(e.target.value)} /> </label> <br/> <textarea placeholder="Short description of Task (Optional)" value={des} onChange={e => setDes(e.target.value)}></textarea> <br /> <select value={subject} onChange={e=> setSubject(e.target.value)}> <option value="Deutsch">Deutsch</option> <option value="Biologie">Biologie</option> <option value="N/A">N/A</option> </select> <input className="button" type="submit" /> </form> </div> ); } export default AddToDoList;Si alguien tiene alguna idea, la ayuda es muy apreciada, ¡gracias!
Bien, he logrado resolverlo. Tengo que importar reaccionar en cada script js que tengo, aunque tengo la versión 18, en la que (después de la documentación) no tienes que importarlo. No entiendo por qué sucedió esto y, además, por qué de repente quería que hiciera esto, ya que estaba bien todo este tiempo antes, pero ahora funciona y eso es realmente todo lo que importa.