-
-
Notifications
You must be signed in to change notification settings - Fork 248
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Blog post section on the generic JSX transform (#820)
* blog post section on the generic JSX transform * reword * changing back to Preact
- Loading branch information
1 parent
a380671
commit 6f14e19
Showing
1 changed file
with
22 additions
and
2 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -20,9 +20,29 @@ npm install [email protected] | |
|
||
Find a list of all the new features below: | ||
|
||
## Generic JSX transform | ||
## JSX for more than React | ||
|
||
TODO | ||
Historically, ReScript has focused mainly on React for its frontend support. This has led to ReScript having a great JSX transform built into the language itself. However, that JSX transform has been quite difficult to use with anything but React. | ||
|
||
With v11.1, that changes! The JSX transform can now be configured to work with any framework. First class React support is of course still the same, and remains a priority. This makes it possible to integrate any other framework's JSX idiomatically in ReScript. And, all the tooling like autocompletion of prop names and types just works. | ||
|
||
Many popular frameworks like Vue and Preact use JSX. But, JSX is also becoming more and more ubiquitous, and these days JSX can also be used for everything from building CLI apps to responsive e-mail templating. We're happy that ReScript users will now be able to leverage all of these innovations in a more idiomatic way than before. | ||
|
||
Here's an example of what a Preact integration could look like: | ||
|
||
```rescript | ||
// Greet.res | ||
// @jsx.component works the same as @react.component does in React | ||
@jsx.component | ||
let make = (~name) => { | ||
<div> | ||
{Preact.string("Hello " ++ name)} | ||
</div> | ||
} | ||
``` | ||
|
||
Read more in the [`new documentation on the generic JSX transform`](/docs/manual/latest/jsx#generic-jsx-transform-jsx-beyond-react-experimental). | ||
|
||
## Tagged template literals | ||
|
||
|