2

我正在使用 babel-register 在节点环境中使用 ES6 类,并希望使用带有 ReactDomServer 的require( file_path ) 动态加载和渲染 React 组件,但它向我显示以下错误:

“不变违规:renderToStaticMarkup():您必须传递有效的 ReactElement。”

// enable es6
require('babel-register')({
    "presets": ["es2015", "react"],
    "extensions": [".jsx", ".js"]
});

// load component
var testComponent = require(testComponentPath);

console.log(testComponent); // { default: [Function: TestComponent] }

var html = ReactDomServer.renderToStaticMarkup(testComponent);
4

1 回答 1

5

var testComponent = require(testComponentPath).default;假设组件默认导出,请将您的 require 语句更改为 。

于 2017-12-05T02:30:21.857 回答