Feliz 3.1.1
dotnet add package Feliz --version 3.1.1
NuGet\Install-Package Feliz -Version 3.1.1
<PackageReference Include="Feliz" Version="3.1.1" />
<PackageVersion Include="Feliz" Version="3.1.1" />
<PackageReference Include="Feliz" />
paket add Feliz --version 3.1.1
#r "nuget: Feliz, 3.1.1"
#:package Feliz@3.1.1
#addin nuget:?package=Feliz&version=3.1.1
#tool nuget:?package=Feliz&version=3.1.1
Feliz 
A fresh retake of the React API in Fable, optimized for happiness.
Here is how it looks like:
module App
open Feliz
[<ReactComponent>]
let Counter() =
let (count, setCount) = React.useState(0)
Html.div [
Html.button [
prop.style [ style.marginRight 5 ]
prop.onClick (fun _ -> setCount(count + 1))
prop.text "Increment"
]
Html.button [
prop.style [ style.marginLeft 5 ]
prop.onClick (fun _ -> setCount(count - 1))
prop.text "Decrement"
]
Html.h1 count
]
open Browser.Dom
let root = ReactDOM.createRoot (document.getElementById "root")
root.render (Counter())
✨ Features
- Flexible API design: Combine the reliability of F# type safety with the flexibility to interop easily with native JavaScript.
- Discoverable attributes with no more functions,
Htmlattributes or CSS properties globally available so they are easy to find. - Proper documentation: each attribute and CSS property
- Full React API support: Feliz aims to support the React API for building components using hooks, context and more.
- Fully Type-safe: no more
Margin of objbut instead utilizing a plethora of overloaded functions to account for the overloaded nature ofCSSattributes, covering 90%+ of the CSS styles, values and properties. - Compatible with Femto.
- Approximately Zero bundle size increase where everything function body is erased from the generated JavaScript unless you actually use said function.
🚀 Quick Start
# install the template (if you haven't already)
dotnet new -i Feliz.Template
# create a new Feliz project from the installed template
dotnet new feliz -n MyProject
# navigate to the created project folder
cd MyProject
# install the npm dependencies
npm install
# install .NET tools
dotnet tool restore
# start the development server
npm start
📚 Documentation
Explore the full docs at https://fable-hub.github.io/Feliz/ — packed with live examples and practical guidance. Highlights:
- Feliz syntax: comprehensive reference for
Html,prop,style, React hooks, and more. Browse: https://fable-hub.github.io/Feliz/category/feliz - Guides: curated walkthroughs and best practices — from getting started to advanced patterns. Start here: https://fable-hub.github.io/Feliz/category/guides
- Ecosystem: discover community libraries and official add‑ons (UI, components, hooks, testing, tooling). Explore: https://fable-hub.github.io/Feliz/ecosystem
- Feliz.UseElmish: integrate Elmish state machines with React components. Learn more: https://fable-hub.github.io/Feliz/ecosystem/Hooks/Feliz.UseElmish
- Vitest: testing library for Feliz components. Learn more: https://fable-hub.github.io/Feliz/ecosystem/Testing/Feliz.Vitest
If anything’s unclear or you’re missing an example, please open an issue or discussion — contributions are very welcome!
⌚ Changelog
Each project in Feliz has its own changelog file in the src folder. Check them out for the latest changes!
Here is a direct link to the Feliz changelog.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net5.0 was computed. net5.0-windows was computed. net6.0 was computed. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 was computed. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 was computed. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 was computed. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
| .NET Core | netcoreapp2.0 was computed. netcoreapp2.1 was computed. netcoreapp2.2 was computed. netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
| .NET Standard | netstandard2.0 is compatible. netstandard2.1 was computed. |
| .NET Framework | net461 was computed. net462 was computed. net463 was computed. net47 was computed. net471 was computed. net472 was computed. net48 was computed. net481 was computed. |
| MonoAndroid | monoandroid was computed. |
| MonoMac | monomac was computed. |
| MonoTouch | monotouch was computed. |
| Tizen | tizen40 was computed. tizen60 was computed. |
| Xamarin.iOS | xamarinios was computed. |
| Xamarin.Mac | xamarinmac was computed. |
| Xamarin.TVOS | xamarintvos was computed. |
| Xamarin.WatchOS | xamarinwatchos was computed. |
-
.NETStandard 2.0
- Fable.Core (>= 4.5.0)
- Fable.React.Types (>= 18.4.0)
- Fable.ReactDom.Types (>= 18.2.0)
- Feliz.CompilerPlugins (>= 3.0.0)
NuGet packages (131)
Showing the top 5 NuGet packages that depend on Feliz:
| Package | Downloads |
|---|---|
|
Feliz.Router
A router component for React and Elmish that is focused, powerful and extremely easy to use. |
|
|
Feliz.UseElmish
useElmish hooks to build Elmish components as React components |
|
|
Feliz.Bulma
Package Description |
|
|
Feliz.UseListener
React hooks for easy event listener management. |
|
|
Feliz.UseDeferred
Hooks for dead-simple data fetching with Feliz |
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 3.1.1 | 848 | 12/22/2025 |
| 3.1.0 | 669 | 12/15/2025 |
| 3.0.0 | 1,607 | 12/10/2025 |
| 3.0.0-rc.16 | 315 | 12/8/2025 |
| 3.0.0-rc.15 | 469 | 12/1/2025 |
| 3.0.0-rc.14 | 187 | 11/28/2025 |
| 3.0.0-rc.13 | 147 | 11/27/2025 |
| 3.0.0-rc.12 | 315 | 11/21/2025 |
| 3.0.0-rc.11 | 293 | 11/21/2025 |
| 3.0.0-rc.10 | 385 | 11/18/2025 |
| 3.0.0-rc.9 | 387 | 11/18/2025 |
| 3.0.0-rc.8 | 205 | 11/14/2025 |
| 3.0.0-rc.5 | 122 | 11/7/2025 |
| 3.0.0-rc.4 | 166 | 11/3/2025 |
| 3.0.0-rc.3 | 242 | 10/25/2025 |
| 3.0.0-rc.2 | 163 | 10/7/2025 |
| 3.0.0-rc.1 | 192 | 10/2/2025 |
| 2.9.0 | 73,194 | 10/26/2024 |
### ✨ Added
- Support for the [autocorrect attribute](https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Global_attributes/autocorrect) (by @kerams)
- Support for `svg.key` property #698 (by @Freymaurer)