Skip to content

.NET library for JSX compilation and server-side rendering of React components

License

Notifications You must be signed in to change notification settings

jaytarr/React.NET

 
 

Repository files navigation

ReactJS.NET is a library that makes it easier to use Babel along with Facebook's React and JSX from C#.

Build status  NuGet version Download count

Features

Quick Start

Install the package

Install-Package React.Web.Mvc4 # For ASP.NET MVC 4 or 5
Install-Package React.AspNet   # For ASP.NET Core MVC

Install a Javascript engine and configure as the default (more info here on how this works)

Install-Package JavaScriptEngineSwitcher.V8
Install-Package JavaScriptEngineSwitcher.V8.Native.win-x64
public static class ReactConfig
{
    public static void Configure()
    {
        ReactSiteConfiguration.Configuration
            .AddScript("~/Content/HelloWorld.jsx");

        JsEngineSwitcher.Current.DefaultEngineName = V8JsEngine.EngineName;
        JsEngineSwitcher.Current.EngineFactories.AddV8();
    }
}

Create JSX files

// /Scripts/HelloWorld.jsx
const HelloWorld = props => {
	return <div>Hello {props.greeting}</div>;
};

Reference the JSX files from your HTML

<!-- Place this where you want the component div to render -->
@Html.React("HelloWorld", new { Greeting = "friends!" });

<!-- Place these at the end of the page -->
<script src="@Url.Content("~/Scripts/HelloWorld.jsx")"></script>
@Html.ReactInitJavaScript();

Now you can use the HelloWorld component.

For information on more advanced topics (including precompilation and server-side rendering), check out the documentation

Building Manually and Contributing

When building your own copy of ReactJS.NET (for example, if implementing a new feature or fixing a bug), your first build always needs to be done using the build script (dev-build.bat) as this generates a few files required by the build (such as SharedAssemblyVersionInfo.cs). Once this build is completed, you can open React.sln in Visual Studio and compile directly from Visual Studio. Please refer to the documentation page on contributing for more information on contributing to ReactJS.NET.

Note that the build requires you to have Git installed. If you do not want to install Git, you may remove the GitVersion task from build.proj.

About

.NET library for JSX compilation and server-side rendering of React components

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • C# 87.8%
  • JavaScript 4.1%
  • CSS 4.1%
  • HTML 2.2%
  • Ruby 0.7%
  • TypeScript 0.5%
  • Other 0.6%