[英]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.