jsx
React
jsx | React | |
---|---|---|
16 | 1,787 | |
1,958 | 227,038 | |
0.2% | 0.6% | |
0.0 | 10.0 | |
10 months ago | 5 days ago | |
HTML | JavaScript | |
- | MIT License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
jsx
-
Understanding React Compiler
> Where is jsx defined, as a language?
https://facebook.github.io/jsx/ is the primary home.
> are there multiple transpiler implementations?
Yes. Off the top of my head:
Babel: https://babeljs.io/docs/babel-plugin-transform-react-jsx
Typescript: https://www.typescriptlang.org/docs/handbook/jsx.html
esbuild: https://esbuild.github.io/content-types/#jsx
> is it standardized at all?
In terms of well documented, yes. In terms of a TC-39 standard accepted as a part of JS and intended for browsers to consume? No. Unless you count how much it borrows from E4X [0] which was an optional part of the "lost version" of JS that was EcmaScript 4, then "sort of".
[0] https://en.wikipedia.org/wiki/ECMAScript_for_XML
-
I am having to pass down 8+ props even for simple components. What are some common ways to mitigate this? (Typescript)
Svelte syntax? Yes, there is upcoming initiative JSX 2.0 which includes shorthands like that. However, have no idea whether it will be released any time soon. So let's say "this is part of React/JSX 1.0" (shrugging)
-
Why TypeScript is the better JavaScript
Inherent support for JSX in the language itself
-
Node.js やReact、ESM、Viteの説明
JavaScript + HTML(DOM)= JSX
-
Alpine.js
FWIW, the className prop is a React thing not a JSX thing. Other libraries which use JSX will happily accept a plain class prop. The React limitation is abstraction leakage: props are not attributes, they map to DOM properties.
But to the point that JSX is a DSL, that limitation is specifically because React itself is very tightly coupled to DOM semantics… but JSX explicitly has no built in semantics[1].
1: First sentence of https://facebook.github.io/jsx/ - “JSX is an XML-like syntax extension to ECMAScript without any defined semantics.”
-
React - Introducing JSX
JSX stands for 'JavaScript XML' and is a syntax extension for JavaScript. It is used to create DOM elements that are then rendered in the React DOM. Although it looks like HTML, it is actually an XML-like syntax specifically written for use in React. Interestingly, JSX is not valid JavaScript either. JSX needs to be compiled by a tool like Babel to be translated into regular JavaScript that a browser can understand. Put simply, JSX describes what the UI should look like, and React takes care of properly rendering it.
- Web lagnunages to learn
-
My thoughts on Mithril.js
Alternatively, you can use JSX syntax (like with React), but then you need build-tools.
-
Incrementally adopting TypeScript in a create-react-app project
Note: For React component files (JSX) we'll use .tsx to maintain JSX support and for non React files we'll use the .ts file extension. However, if you want you could still use .ts file extension for React components without any problem.
-
Sciter, the 5 MB Electron alternative, has switched to JavaScript
I’m concerned that you’re falling into the same trap here with integrating your own variant of JSX, and mulling over adding more things like hyphens in unquoted object literal keys.
JSX is popular enough that it’s safe, ECMAScript isn’t going to break it, but your alterations to JSX are already significantly incompatible: you have being equivalent to JSX("input", {"class": "search"}, null), but the JSX everyone else is using has that equivalent to JSX(input.search, {}, null). I’m not certain if your JSX syntax is supposed to be able to be used with React code or anything else that uses JSX syntax, but if yes then it’ll be broken in a significant number of cases so that it’s worse than useless, and if no, well, it’s going to be misleading, and what if JSX did get merged into ECMAScript in some form? Then you’d be incompatible with ECMAScript again.
Same deal with hyphens in unquoted object literal keys: it’s not part of ECMAScript now, but just because it’d be a syntax error now doesn’t mean it always will be. Decorators in TypeScript are a good example of things going badly wrong even when an extremely popular project is involved.
I say: if you want to go JavaScript, go JavaScript, maaaaaybe plus standard JSX conforming with <https://facebook.github.io/jsx/>, and no further. Even if what you do is obviously superior, &c. &c. I’d apply the same reasoning on your fork of CSS: you introduced it for a good reason back then, but now it’s just friction, even if it’s a little better in a vacuum (and maybe it is in parts, maybe it isn’t in other parts).
React
-
Introducing Perseid: The Product-oriented JS framework
It's also worth mentioning that Perseid provides out-of-the-box support for React, VueJS, Svelte, MongoDB, MySQL, PostgreSQL, Express and Fastify.
-
Getting started with Shadcn/UI in React: A practical guide
The front-end development world is ever-changing. Front-end developers seek new ways to create high-quality, accessible, visually appealing user interfaces for websites and apps. This drives React developers to constantly search for tools and libraries that can simplify their development process and help them create amazing user interfaces. This is where Shadcn/UI comes in.
-
Next.js vs React - Which One to Choose?
React (JavaScript library)
-
🚀 Introducing NextSolution V2: ASP.NET API + Next.js + Expo Starter Template
React Official Site
-
The Ultimate Guide to Headless CMS
Websites and Web Apps: Popular for high-performing "Jamstack" sites on modern frameworks like React and Next.js.
-
Mitosis - Using Astro.js as the dev server to preview the component with hot-reload
Note: Astro supports a variety of popular frameworks including React, Preact, Svelte, Vue, SolidJS, AlpineJS and Lit with official integrations. While for other frameworks e.g. Angular and Qwik, you may still benefit from this tutorial and you would need to further set up the community maintained framework integrations.
-
Hidden cost of frontend frameworks
The most common and well known is React, with many others sharing this space, such as Svelte, SolidJS, Angular, Vue, Qwik and more. All are impressive feats of engineering and come with bold statements.
-
7 Most Popular JavaScript Front-End Frameworks in 2024 Visualized with Graphs 📊📈
GitHub | npm | website
-
Understanding Monorepo
React (GitHub: Facebook/react)
-
Good practices in ReactJs - State variables and attached logic
In conclusion, the use of good practices and the components’ adjustment to the official React documentation is crucial. Correct state management, components’ atomization after SRP (Single Responsibility Principle, centralizing logic after DRY (Don't Repeat Yourself) decoupling from external components and the achievement of a highly cohesive internal logic are practices that minimize problems' solving time, lower error rate and allow for stability and scalability in our applications.
What are some alternatives?
htm - Hyperscript Tagged Markup: JSX alternative using standard tagged templates, with compiler support.
qwik - Instant-loading web apps, without effort
denoflare - Develop, test, and deploy Cloudflare Workers with Deno.
Alpine.js - A rugged, minimal framework for composing JavaScript behavior in your markup.
joystick - A full-stack JavaScript framework for building stable, easy-to-maintain apps and websites.
Vue.js - This is the repo for Vue 2. For Vue 3, go to https://github.com/vuejs/core
prepack - A JavaScript bundle optimizer.
SvelteKit - web development, streamlined
ember-render-modifiers - Implements did-insert / did-update / will-destroy modifiers for emberjs/rfcs#415
lit-element - LEGACY REPO. This repository is for maintenance of the legacy LitElement library. The LitElement base class is now part of the Lit library, which is developed in the lit monorepo.
rfcs - RFCs for changes to Ember
Tailwind CSS - A utility-first CSS framework for rapid UI development.