我正在使用gulp webpack流将我的react组件编译成TncComponent.js
文件,我将在另一个require
文件中.js
。
组件:
let TncComponent = React.createClass ( {
render() {
return (
<div className="terms-and-conditions">
hello
</div>
)
}
} );
export default TncComponent;
然后在我的一个.js
文件中,我想通过onClick
事件渲染组件。
JS档案
export const init = () => {
let tnc_init = () => {
require.ensure ( [], ( require )=> {
let TncComponent = require ( '../TncComponent' );
let $tnc = $ ( '.tnc' );
$tnc.on ( 'click', ( e )=> {
e.preventDefault ();
console.log ( document.getElementById ( 'tnc-root' ) );
console.log ( TncComponent );
ReactDOM.render (
React.createElement ( TncComponent, document.getElementById ( 'tnc-root' ) ) );
} );
} );
}
tnc_init ();
}
但是console.log(TncComponent)
会返回一个空对象。
我应该如何装载反应组件?
TncComponent.js
/******/ (function(modules) { // webpackBootstrap
/******/ // The module cache
/******/ var installedModules = {};
/******/ // The require function
/******/ function __webpack_require__(moduleId) {
/******/ // Check if module is in cache
/******/ if(installedModules[moduleId])
/******/ return installedModules[moduleId].exports;
/******/ // Create a new module (and put it into the cache)
/******/ var module = installedModules[moduleId] = {
/******/ exports: {},
/******/ id: moduleId,
/******/ loaded: false
/******/ };
/******/ // Execute the module function
/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__);
/******/ // Flag the module as loaded
/******/ module.loaded = true;
/******/ // Return the exports of the module
/******/ return module.exports;
/******/ }
/******/ // expose the modules object (__webpack_modules__)
/******/ __webpack_require__.m = modules;
/******/ // expose the module cache
/******/ __webpack_require__.c = installedModules;
/******/ // __webpack_public_path__
/******/ __webpack_require__.p = "";
/******/ // Load entry module and return exports
/******/ return __webpack_require__(0);
/******/ })
/************************************************************************/
/******/ ([
/* 0 */
/***/ function(module, exports, __webpack_require__) {
module.exports = __webpack_require__(4);
/***/ },
/* 1 */,
/* 2 */,
/* 3 */,
/* 4 */
/***/ function(module, exports) {
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
var TncComponent = React.createClass({
displayName: "TncComponent",
render: function render() {
return React.createElement(
"div",
{ className: "terms-and-conditions" },
"hello"
);
}
});
exports.default = TncComponent;
/***/ }
/******/ ]);