React Components mit .jsx oder .js endung?

2 Antworten

Du kannst den Dateinamen auch mit ".pdf" oder ".mp3" enden wenn du willst, das ist dem Bundler / Transpiler völlig schnuppe (sofern er entsprechend konfiguriert ist). Ein anderer Entwickler, der sich den Code dann vielleicht mal anschaut, wird dann nur keine Ahnung haben, was das für eine Datei sein soll und wozu sie gut ist. Genau deshalb gibt es in der Softwareentwicklungen Konventionen. Dinge, die du zwar nicht tun musst, damit dein Programm funktioniert, aber tun solltest, damit andere Entwickler (und auch du, wenn du den Code Monate später wieder vor dir hast) deinen Code besser verstehen und er einem gewissen Schema folgt. Die Dateiendung .jsx bzw. .tsx bei TypeScript ist so eine Konvention. Musst du nicht, ist aber gute Sitte. Da JSX (das "HTML"-Markup in React-Code) kein normales JavaScript ist, macht es Sinn, einer Datei, die dieses enthält, auch eine andere Dateiendung zu geben.

create-react-app musst du nicht verwenden. Du kannst einen leeren Ordner erstellen, "npm init" ausführen, und die benötigten Packages wie React selbst, aber auch Babel, Webpack usw. mit einem Package Manager (NPM / Yarn) selbst installieren und konfigurieren. Siehe hier.

Ist aber, v.a. wenn du noch nicht so viel Erfahrung hast, 1000x mehr Aufwand, als create-react-app und die entsprechenden Dateien, die du nicht benötigst, raus zu werfen.

Ansonsten gibt es für create-react-app auch diverse Templates.

Woher ich das weiß:Berufserfahrung – Inhaber einer App-Agentur & 15+ Jahre Programmiererfahrung

.js = dort kommt nur Logik rein, keine HTML Syntax

.jsx = React Files, dort kannst du z.B. <h1>Hallo</h1> schreiben, zwar auch mit Logik (JS)