Je suis un tutoriel YouTube pour apprendre React, mais j'ai remarqué quelque chose d'ennuyeux. Lorsque je crée une nouvelle application avec create-react-app, l'app.js utilise une function App ()
, et non une classe. Je sais que React peut être codé dans les deux sens, mais j'aimerais travailler avec des classes. Existe-t-il un moyen de configurer create-react-app pour créer une application React avec des classes? Quelque chose comme l'ajout d'un argument sur la CLI, ou peut-être changer une option sur une page de configuration (je n'en ai trouvé aucun).
class App extends Component {}
Ce que je veux:
function App() {}
3 Réponses :
Ce que vous observez n'est pas réglable par configuration. Ils ont changé la génération App.js dans create-react-app de classe en fonction avec e4fdac2 et commit commit b424737 < / a>. Vous utilisez une version de create-react-app plus récente que les vidéos que vous regardez. L'une ou l'autre syntaxe est valide, selon que vous avez besoin de l'état ou non, mais vous devrez modifier le code vous-même pour utiliser l'ancienne syntaxe de classe dans App.js.
Et bien merci pour la réponse, je pense que c'est un peu dommage, mais si je ne peux rien y faire, je l'éditerai manuellement à chaque fois!
Si vous souhaitez que votre create-react-app
génère une classe au lieu d'une fonction, vous devez utiliser la commande suivante pour créer une application avec l'ancienne version de script.
create-react-app my-app --scripts-version react-scripts@^2
En fait, il existe une solution à votre problème. Vous avez juste besoin d'une ancienne version de react-scripts et la configuration de votre projet reviendra à l'utilisation de classes. Lors de la création de votre projet, utilisez cette commande:
create-react-app [Project Name] --scripts-version 2.0.3
Pourquoi ne pas simplement le changer en
classe
?Vous n'êtes pas lié à une classe ou à une fonction que vous pouvez mélanger et associer, vous pouvez donc changer la fonction de l'application en une classe et chaque nouveau composant que vous créez vous pouvez créer en tant que classe.
Je comprends ce que vous dites tous les deux, et je suis parfaitement conscient que je peux mélanger les deux notations. ce n'était pas ma question :) Je cherche un moyen de créer une application create-react pour le faire depuis le début!
Ce que vous voulez obtenir est un anti-pattern, car tous vos composants n'ont pas besoin d'un état ni de classes. Si vous recherchez des commandes abrégées pour créer une classe de composants standard, consultez les «extraits» de votre IDE.