mirror of
https://github.com/aspnet/JavaScriptServices.git
synced 2025-12-22 17:47:53 +00:00
Simplify ReactRenderer API when referencing default modules
This commit is contained in:
@@ -27,7 +27,7 @@ module.exports = {
|
||||
renderToString: function(callback, options) {
|
||||
var resolvedPath = path.resolve(process.cwd(), options.moduleName);
|
||||
var requestedModule = require(resolvedPath);
|
||||
var component = requestedModule[options.exportName];
|
||||
var component = options.exportName ? requestedModule[options.exportName] : requestedModule;
|
||||
if (!component) {
|
||||
throw new Error('The module "' + resolvedPath + '" has no export named "' + options.exportName + '"');
|
||||
}
|
||||
|
||||
@@ -12,6 +12,10 @@ namespace Microsoft.AspNet.NodeServices.React
|
||||
nodeScript = new StringAsTempFile(script); // Will be cleaned up on process exit
|
||||
}
|
||||
|
||||
public static Task<string> RenderToString(INodeServices nodeServices, string moduleName, string baseUrl) {
|
||||
return RenderToString(nodeServices, moduleName, /* exportName */ null, baseUrl);
|
||||
}
|
||||
|
||||
public static async Task<string> RenderToString(INodeServices nodeServices, string moduleName, string exportName, string baseUrl) {
|
||||
return await nodeServices.InvokeExport(nodeScript.FileName, "renderToString", new {
|
||||
moduleName,
|
||||
|
||||
@@ -17,7 +17,6 @@ namespace ReactExample.Controllers
|
||||
{
|
||||
ViewData["ReactOutput"] = await ReactRenderer.RenderToString(this.nodeServices,
|
||||
moduleName: "ReactApp/components/ReactApp.jsx",
|
||||
exportName: "ReactApp",
|
||||
baseUrl: Request.Path
|
||||
);
|
||||
return View();
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
import React from 'react';
|
||||
import ReactDOM from 'react-dom';
|
||||
import createBrowserHistory from 'history/lib/createBrowserHistory';
|
||||
import { ReactApp } from './components/ReactApp.jsx';
|
||||
import ReactApp from './components/ReactApp.jsx';
|
||||
|
||||
// In the browser, we render into a DOM node and hook up to the browser's history APIs
|
||||
var history = createBrowserHistory();
|
||||
|
||||
@@ -2,7 +2,7 @@ import React from 'react';
|
||||
import { Router, Route } from 'react-router';
|
||||
import { PeopleGrid } from './PeopleGrid.jsx';
|
||||
|
||||
export class ReactApp extends React.Component {
|
||||
export default class ReactApp extends React.Component {
|
||||
render() {
|
||||
return (
|
||||
<Router history={this.props.history}>
|
||||
|
||||
Reference in New Issue
Block a user