public static IHtmlString RazorReact(this HtmlHelper htmlHelper, string componentName, object props, string bundleId = null, string containerId = null, RazorReactOptions options = null) { var razorReactManager = RazorReactConfiguration.GetReactBundleManager(bundleId); var htmlStringBuilder = new StringBuilder(); htmlStringBuilder.Append(razorReactManager.GetServerSideRenderedHtml(componentName, props, bundleId, containerId, options)); htmlStringBuilder.Append(razorReactManager.GetClientSideRenderScripts(componentName, props, bundleId, containerId, options)); return(new HtmlString(htmlStringBuilder.ToString())); }
private static void InitializeRazorReact() { //var reactBundle = new ReactBundle(@"~\ReactScripts\main.bundle.js"); var distPath = Path.GetFullPath(Path.Combine(HttpContext.Current.Server.MapPath(""), "..", "react-sample-app", "dist")); var reactServerSideBundle = new ReactBundle(null, new[] { @"~/Scripts/react/server/main.bundle.js", @"~/Scripts/react/server/runtime.bundle.js", @"~/Scripts/react/server/vendors~main.bundle.js", }); var reactClientSideBundle = new ReactBundle(null, new[] { @"~/Scripts/react/client/main.bundle.js", @"~/Scripts/react/client/runtime.bundle.js", @"~/Scripts/react/client/vendors~main.bundle.js", }); //RazorReactConfiguration.AddReactManager(new RazorReactManager(reactServerSideBundle, reactClientSideBundle, new ChakraCoreJsEngineFactory(), new RazorReactOptions() { LiveReloadDevMode = true })); RazorReactConfiguration.AddReactManager(new RazorReactManager(reactServerSideBundle, reactClientSideBundle, new V8JsEngineFactory(), new RazorReactOptions() { LiveReloadDevMode = true })); RazorReactConfiguration.Initialize(); }