简体   繁体   English

如何使用Babel-Register使用Require动态加载组件

[英]How to load react component dynamically using require with babel-register

I am using babel-register to use ES6 classes in node environment and want to load and render React component dynamically using require( file_path ) with ReactDomServer, but its showing me following error: 我正在使用babel-register在节点环境中使用ES6类,并希望使用带有ReactDomServer的require( file_path )动态加载和呈现React组件,但是它显示了以下错误:

"Invariant Violation: renderToStaticMarkup(): You must pass a valid ReactElement." “不变违反: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);

Change your require statement to var testComponent = require(testComponentPath).default; 将您的require语句更改为var testComponent = require(testComponentPath).default; , assuming the component is exported as default. ,假设该组件默认导出。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM