如何根据依赖性导入React组件?

时间:2016-05-13 12:24:04

标签: javascript reactjs webpack jsx

我第一次使用React(babel)和jsx,使用Webpack创建bundle.js

我创建了两个React组件 - Header1.jsx和Header2.jsx。

如果在2016年7月4日之前 - >使用Header1.jsx
如果在2016年7月4日之后 - >使用Header2.jsx

要将组件导入React,我使用的是index.js:

import SportMenu from './components/SportMenu.jsx';
import NextMatches from './components/NextMatches.jsx';
(...)

基本上我想要一个执行此操作的代码:

var eventStart = new Date('2016-06-10T21:00:00+02:00');
var now = new Date();

if(nowgetDate().getDate() < eventStart.getDate()){
    import EmCountdown from './components/Countdown.jsx';
} else {
    import FocusMenu from './components/FocusMenu.jsx';
}

我该如何做到这一点?

1 个答案:

答案 0 :(得分:3)

您无法动态导入模块,但您可以将其作为常规模块导入

import SportMenu from './components/SportMenu.jsx'; 
import NextMatches from './components/NextMatches.jsx'; 
import EmCountdown from './components/Countdown.jsx'; 
import FocusMenu from './components/FocusMenu.jsx'; 

然后按条件呈现它们

var eventStart = new Date('2016-06-10T21:00:00+02:00');
var now = new Date();

if (now < eventStart){
    <EmCountdown />; 
} else {
    <FocusMenu />;
}